クラス DefaultKafkaConsumerFactory<K,V>

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

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

引数のないコンストラクターがあり、セットアップを必要としない Deserializer を使用している場合は、DefaultKafkaConsumerFactory コンストラクターに渡される configs の ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG および ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG キーに対して Deserializer クラスを指定するのが最も簡単です。

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

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

作成者:
Gary Russell, Murali Reddy, Artem Bilan, Chris Gilbert, Adrian Gygax
  • コンストラクターの詳細

    • DefaultKafkaConsumerFactory

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

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

      public DefaultKafkaConsumerFactory(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。
      導入:
      2.8.7
    • DefaultKafkaConsumerFactory

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

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

    • 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 - 値デシリアライザー。
    • setKeyDeserializerSupplier

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

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

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

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

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

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

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

      public ListSE<ConsumerPostProcessor<K,V>> getPostProcessors()
      インターフェースからコピーされた説明: ConsumerFactory
      ポストプロセッサーの現在のリストを取得します。
      次で指定:
      インターフェース ConsumerFactory<K,V>getPostProcessors 
      戻り値:
      ポストプロセッサー。
    • addListener

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

      public void addListener(int index, ConsumerFactory.Listener<K,V> listener)
      特定のインデックスにリスナーを追加します。
      次で指定:
      インターフェース ConsumerFactory<K,V>addListener 
      パラメーター:
      index - インデックス (リストの位置)。
      listener - リスナー。
      導入:
      2.5
    • addPostProcessor

      public void addPostProcessor(ConsumerPostProcessor<K,V> postProcessor)
      インターフェースからコピーされた説明: ConsumerFactory
      ポストプロセッサーを追加します。
      次で指定:
      インターフェース ConsumerFactory<K,V>addPostProcessor 
      パラメーター:
      postProcessor - ポストプロセッサー。
    • removePostProcessor

      public boolean removePostProcessor(ConsumerPostProcessor<K,V> postProcessor)
      インターフェースからコピーされた説明: ConsumerFactory
      ポストプロセッサーを取り外します。
      次で指定:
      インターフェース ConsumerFactory<K,V>removePostProcessor 
      パラメーター:
      postProcessor - ポストプロセッサー。
      戻り値:
      削除された場合は true。
    • removeListener

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

      public void updateConfigs(MapSE<StringSE,ObjectSE> updates)
      インターフェースからコピーされた説明: ConsumerFactory
      コンシューマー構成マップを更新します。資格情報のローテーションなどの状況で役立ちます。
      次で指定:
      インターフェース ConsumerFactory<K,V>updateConfigs 
      パラメーター:
      updates - 更新する構成プロパティ。
    • removeConfig

      public void removeConfig(StringSE configKey)
      インターフェースからコピーされた説明: ConsumerFactory
      指定されたキーを構成マップから削除します。
      次で指定:
      インターフェース ConsumerFactory<K,V>removeConfig 
      パラメーター:
      configKey - 削除するキー。
    • createConsumer

      public org.apache.kafka.clients.consumer.Consumer<K,V> createConsumer(@Nullable StringSE groupId, @Nullable StringSE clientIdPrefix, @Nullable StringSE clientIdSuffixArg, @Nullable PropertiesSE properties)
      インターフェースからコピーされた説明: ConsumerFactory
      明示的なグループ ID でコンシューマーを作成します。さらに、クライアント ID サフィックスが clientIdPrefix に追加され、存在する場合は client.id プロパティをオーバーライドします。さらに、ファクトリ実装がサポートしている場合は、コンシューマープロパティをオーバーライドできます。
      次で指定:
      インターフェース ConsumerFactory<K,V>createConsumer 
      パラメーター:
      groupId - グループ ID。
      clientIdPrefix - プレフィックス。
      clientIdSuffixArg - 接尾辞。
      properties - オーバーライドするプロパティ。
      戻り値:
      コンシューマー。
    • createKafkaConsumer

      protected org.apache.kafka.clients.consumer.Consumer<K,V> createKafkaConsumer(@Nullable StringSE groupId, @Nullable StringSE clientIdPrefixArg, @Nullable StringSE clientIdSuffixArg, @Nullable PropertiesSE properties)
    • createKafkaConsumer

      protected org.apache.kafka.clients.consumer.Consumer<K,V> createKafkaConsumer(MapSE<StringSE,ObjectSE> configProps)
    • createRawConsumer

      protected org.apache.kafka.clients.consumer.Consumer<K,V> createRawConsumer(MapSE<StringSE,ObjectSE> configProps)
      Consumer を作成します。デフォルトでは、このメソッドは、この listeners に提供されたことを認識する内部 DefaultKafkaConsumerFactory<K,V>.ExtendedKafkaConsumer を返します。そのため、カスタム Consumer に listeners がまだ関与している場合は、そのクラスを継承することをお勧めします。
      パラメーター:
      configProps - 構成プロパティ。
      戻り値:
      コンシューマー。
      導入:
      2.5
    • isAutoCommit

      public boolean isAutoCommit()
      インターフェースからコピーされた説明: ConsumerFactory
      このファクトリによって作成されたコンシューマーが自動コミットを使用する場合は true を返します。
      次で指定:
      インターフェース ConsumerFactory<K,V>isAutoCommit 
      戻り値:
      自動コミットの場合は true。
    • setApplicationContext

      public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
      次で指定:
      インターフェース ApplicationContextAwaresetApplicationContext 
      例外:
      BeansException