クラス DefaultShareConsumerFactory<K,V>

java.lang.ObjectSE
org.springframework.kafka.core.KafkaResourceFactory
org.springframework.kafka.core.DefaultShareConsumerFactory<K,V>
型パラメーター:
K - 鍵の型。
V - 値の型。
実装されているすべてのインターフェース:
AwareBeanNameAwareShareConsumerFactory<K,V>

public class DefaultShareConsumerFactory<K,V> extends KafkaResourceFactory implements ShareConsumerFactory<K,V>, BeanNameAware
createShareConsumer(String, String) 呼び出しごとに、提供された MapSE configs およびオプションの Deserializer の新しい ShareConsumer インスタンスを生成する ShareConsumerFactory 実装。

引数なしのコンストラクターを持ち、セットアップを必要としない Deserializer を使用している場合は、DefaultShareConsumerFactory コンストラクターに渡される構成で Deserializer クラスを指定するのが最も簡単です。

それが不可能であるが、すべての ShareConsumer インスタンス間で共有される可能性のある Deserializer を使用している場合 (特に、それらの close() メソッドがノーオペレーションである場合)、キーと値の一方または両方の Deserializer インスタンスを渡すことができます。デシリアライザ。

上記のいずれにも当てはまらない場合は、ファクトリで ShareConsumer が作成されるたびに Deserializer を取得するために使用される Deserializer の一方または両方に SupplierSE を指定できます。

導入:
4.0
作成者:
Soby Chacko
  • コンストラクターの詳細

    • DefaultShareConsumerFactory

      public DefaultShareConsumerFactory(MapSE<StringSE,ObjectSE> configs)
      提供された構成でファクトリを構築します。
      パラメーター:
      configs - 構成。
    • DefaultShareConsumerFactory

      public DefaultShareConsumerFactory(MapSE<StringSE,ObjectSE> configs, @Nullable SupplierSE<@Nullable org.apache.kafka.common.serialization.Deserializer<K>> keyDeserializerSupplier, @Nullable SupplierSE<@Nullable org.apache.kafka.common.serialization.Deserializer<V>> valueDeserializerSupplier)
      提供された構成およびデシリアライザーのサプライヤーを使用してファクトリを構築します。インスタンスを取得するためにサプライヤーが呼び出されると、デシリアライザの configure() メソッドが構成マップとともに呼び出されます。
      パラメーター:
      configs - 構成。
      keyDeserializerSupplier - キー Deserializer サプライヤー関数 (null 可能)。
      valueDeserializerSupplier - 値 Deserializer サプライヤー関数 (null 可能)。
    • DefaultShareConsumerFactory

      public DefaultShareConsumerFactory(MapSE<StringSE,ObjectSE> configs, @Nullable org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer, @Nullable org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer, boolean configureDeserializers)
      提供された構成とデシリアライザーを使用してファクトリを構築します。デシリアライザーの configure() メソッドは、configureDeserializers が false でない限り、構成マップを使用して呼び出されます。
      パラメーター:
      configs - 構成。
      keyDeserializer - キー Deserializer
      valueDeserializer - 値 Deserializer
      configureDeserializers - デシリアライザーを構成しない場合は false。
    • DefaultShareConsumerFactory

      public DefaultShareConsumerFactory(MapSE<StringSE,ObjectSE> configs, @Nullable SupplierSE<@Nullable org.apache.kafka.common.serialization.Deserializer<K>> keyDeserializerSupplier, @Nullable SupplierSE<@Nullable org.apache.kafka.common.serialization.Deserializer<V>> valueDeserializerSupplier, boolean configureDeserializers)
      指定された設定、デシリアライザサプライヤー、デシリアライザ設定フラグを使用してファクトリを構築します。サプライヤーが呼び出されてインスタンスが取得されると、configureDeserializers が false でない限り、デシリアライザの configure() メソッドが設定マップと共に呼び出されます。
      パラメーター:
      configs - 構成。
      keyDeserializerSupplier - キー Deserializer サプライヤー関数 (null 可能)。
      valueDeserializerSupplier - 値 Deserializer サプライヤー関数 (null 可能)。
      configureDeserializers - デシリアライザーを構成するかどうか。
  • メソッドの詳細

    • createShareConsumer

      public org.apache.kafka.clients.consumer.ShareConsumer<K,V> createShareConsumer(@Nullable StringSE groupId, @Nullable StringSE clientId)
      提供されたグループ ID とクライアント ID を使用して共有コンシューマーを作成します。
      次で指定:
      インターフェース ShareConsumerFactory<K,V>createShareConsumer 
      パラメーター:
      groupId - グループ ID (null の場合もあります)。
      clientId - クライアント ID。
      戻り値:
      シェアコンシューマー。
    • createRawConsumer

      protected org.apache.kafka.clients.consumer.ShareConsumer<K,V> createRawConsumer(@Nullable StringSE groupId, @Nullable StringSE clientId)
      実際にコンシューマーを作成します。
      パラメーター:
      groupId - グループ ID (null の場合もあります)。
      clientId - クライアント ID。
      戻り値:
      シェアコンシューマー。
    • setBeanName

      public void setBeanName(StringSE name)
      次で指定:
      インターフェース BeanNameAwaresetBeanName 
    • setKeyDeserializer

      public void setKeyDeserializer(@Nullable org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer)
      キーデシリアライザーを設定します。デシリアライザーは、configureDeserializers が false でない限り、コンシューマー構成を使用して構成されます。
      パラメーター:
      keyDeserializer - デシリアライザー。
    • setValueDeserializer

      public void setValueDeserializer(@Nullable org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer)
      デシリアライザーの値を設定します。デシリアライザーは、configureDeserializers が false でない限り、コンシューマー構成を使用して構成されます。
      パラメーター:
      valueDeserializer - 値デシリアライザー。
    • getKeyDeserializer

      public @Nullable org.apache.kafka.common.serialization.Deserializer<K> getKeyDeserializer()
      インターフェースからコピーされた説明: ShareConsumerFactory
      構成されたキーデシリアライザーを返します (プロパティでクラス名の代わりにオブジェクトとして提供されている場合)。
      次で指定:
      インターフェース ShareConsumerFactory<K,V>getKeyDeserializer 
      戻り値:
      デシリアライザー。
    • getValueDeserializer

      public @Nullable org.apache.kafka.common.serialization.Deserializer<V> getValueDeserializer()
      インターフェースからコピーされた説明: ShareConsumerFactory
      構成された値のデシリアライザーを返します (プロパティでクラス名の代わりにオブジェクトとして提供されている場合)。
      次で指定:
      インターフェース ShareConsumerFactory<K,V>getValueDeserializer 
      戻り値:
      デシリアライザー。
    • setKeyDeserializerSupplier

      public void setKeyDeserializerSupplier(@Nullable SupplierSE<@Nullable org.apache.kafka.common.serialization.Deserializer<K>> keyDeserializerSupplier)
      キーデシリアライザーのインスタンスを提供するようにサプライヤーを設定します。デシリアライザーは、configureDeserializers が false でない限り、コンシューマー構成を使用して構成されます。
      パラメーター:
      keyDeserializerSupplier - サプライヤー(null 可能)。
    • setValueDeserializerSupplier

      public void setValueDeserializerSupplier(@Nullable SupplierSE<@Nullable org.apache.kafka.common.serialization.Deserializer<V>> valueDeserializerSupplier)
      値デシリアライザーのインスタンスを提供するようにサプライヤーを設定します。デシリアライザーは、configureDeserializers が false でない限り、コンシューマー構成を使用して構成されます。
      パラメーター:
      valueDeserializerSupplier - サプライヤー(null 可能)。
    • setConfigureDeserializers

      public void setConfigureDeserializers(boolean configureDeserializers)
      デシリアライザーがすでに完全に構成されている場合など、プログラムで提供されるデシリアライザー (コンストラクターまたは setter 経由) がコンシューマー構成を使用して構成されるのを防ぐには、false (デフォルトは true) に設定します。
      パラメーター:
      configureDeserializers - 構成しない場合は false。
      関連事項:
    • getListeners

      public ListSE<ShareConsumerFactory.Listener<K,V>> getListeners()
      リスナーの現在のリストを取得します。
      次で指定:
      インターフェース ShareConsumerFactory<K,V>getListeners 
      戻り値:
      リスナー。
    • addListener

      public void addListener(ShareConsumerFactory.Listener<K,V> listener)
      リスナーを追加します。
      次で指定:
      インターフェース ShareConsumerFactory<K,V>addListener 
      パラメーター:
      listener - リスナー。
    • addListener

      public void addListener(int index, ShareConsumerFactory.Listener<K,V> listener)
      特定のインデックスにリスナーを追加します。

      このメソッドを使用すると、内部リスナーリストの特定の位置にリスナーを挿入できます。これにより、リスナーコールバックの順序付けが可能になります(これは特定の監視や拡張シナリオで重要になる場合があります)。ただし、対応する removeListener(int index) 契約は意図的に用意されていません。インデックスによるリスナーの削除は推奨されません。他のリスナーが追加または削除されると、リスナーの位置が変わる可能性があるため、間違ったリスナーを誤って削除してしまう可能性が高くなります。リスナーを参照(オブジェクト)で管理する方が安全で、特にリスナーは通常初期化時に一度だけ設定されるため、エラーが発生しにくくなります。

      次で指定:
      インターフェース ShareConsumerFactory<K,V>addListener 
      パラメーター:
      index - インデックス (リストの位置)。
      listener - 追加するリスナー。
    • removeListener

      public boolean removeListener(ShareConsumerFactory.Listener<K,V> listener)
      リスナーを削除します。
      次で指定:
      インターフェース ShareConsumerFactory<K,V>removeListener 
      パラメーター:
      listener - リスナー。
      戻り値:
      削除された場合は true。
    • getConfigurationProperties

      public MapSE<StringSE,ObjectSE> getConfigurationProperties()
      インターフェースからコピーされた説明: ShareConsumerFactory
      このファクトリの構成マップへの変更不可能な参照を返します。類似のファクトリを作るためのクローン作成に便利です。
      次で指定:
      インターフェース ShareConsumerFactory<K,V>getConfigurationProperties 
      戻り値:
      構成。