クラス 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
  • ネストされたクラスの概要

    ネストされたクラス
    修飾子と型
    クラス
    説明
    protected class

    インターフェース org.springframework.kafka.core.ShareConsumerFactory から継承されたネストクラス / インターフェース

    ShareConsumerFactory.Listener<K,V>
  • コンストラクター概要

    コンストラクター
    コンストラクター
    説明
    提供された構成でファクトリを構築します。
    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)
    提供された構成とデシリアライザーのサプライヤーを使用してファクトリを構築します。
    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)
    提供された構成、デシリアライザーサプライヤー、およびデシリアライザー構成フラグを使用してファクトリを構築します。
    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)
    提供された構成とデシリアライザーを使用してファクトリを構築します。
  • 方法の概要

    修飾子と型
    メソッド
    説明
    void
    特定のインデックスにリスナーを追加します。
    void
    リスナーを追加します。
    protected org.apache.kafka.clients.consumer.ShareConsumer<K,V>
    createRawConsumer(@Nullable StringSE groupId, @Nullable StringSE clientId)
    オーバーライドプロパティを指定せずにコンシューマーを作成します。
    protected org.apache.kafka.clients.consumer.ShareConsumer<K,V>
    createRawConsumer(@Nullable StringSE groupId, @Nullable StringSE clientId, MapSE<StringSE,ObjectSE> overrideProperties)
    実際にコンシューマーを作成し、ファクトリ構成の上にオーバーライドプロパティを適用します。
    org.apache.kafka.clients.consumer.ShareConsumer<K,V>
    createShareConsumer(@Nullable StringSE groupId, @Nullable StringSE clientId)
    提供されたグループ ID とクライアント ID を使用して共有コンシューマーを作成します。
    org.apache.kafka.clients.consumer.ShareConsumer<K,V>
    createShareConsumer(@Nullable StringSE groupId, @Nullable StringSE clientId, MapSE<StringSE,ObjectSE> overrideProperties)
    指定されたグループ ID、クライアント ID、ファクトリの設定を上書きする追加プロパティを使用して、共有コンシューマーを作成します。
    このファクトリの構成マップへの変更不可能な参照を返します。
    @Nullable org.apache.kafka.common.serialization.Deserializer<K>
    構成されたキーデシリアライザーを返します (プロパティでクラス名の代わりにオブジェクトとして提供されている場合)。
    リスナーの現在のリストを取得します。
    @Nullable org.apache.kafka.common.serialization.Deserializer<V>
    構成された値のデシリアライザーを返します (プロパティでクラス名の代わりにオブジェクトとして提供されている場合)。
    boolean
    リスナーを削除します。
    void
    void
    setConfigureDeserializers(boolean configureDeserializers)
    プログラムで提供されるデシリアライザー (コンストラクターまたは setter 経由) がコンシューマー構成を使用して構成されないようにするには、false (デフォルトは true) に設定します。例:
    void
    setKeyDeserializer(@Nullable org.apache.kafka.common.serialization.Deserializer<K> keyDeserializer)
    キーデシリアライザを設定します。
    void
    setKeyDeserializerSupplier(@Nullable SupplierSE<@Nullable org.apache.kafka.common.serialization.Deserializer<K>> keyDeserializerSupplier)
    キーデシリアライザーのインスタンスを提供するようにサプライヤーを設定します。
    void
    setValueDeserializer(@Nullable org.apache.kafka.common.serialization.Deserializer<V> valueDeserializer)
    値デシリアライザーを設定します。
    void
    setValueDeserializerSupplier(@Nullable SupplierSE<@Nullable org.apache.kafka.common.serialization.Deserializer<V>> valueDeserializerSupplier)
    値デシリアライザーのインスタンスを提供するようにサプライヤーを設定します。

    クラス org.springframework.kafka.core.KafkaResourceFactory から継承されたメソッド

    checkBootstrap, getBootstrapServers, setBootstrapServersSupplier

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • コンストラクターの詳細

    • 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。
      戻り値:
      シェアコンシューマー。
    • createShareConsumer

      public org.apache.kafka.clients.consumer.ShareConsumer<K,V> createShareConsumer(@Nullable StringSE groupId, @Nullable StringSE clientId, MapSE<StringSE,ObjectSE> overrideProperties)
      インターフェースからコピーされた説明: ShareConsumerFactory
      指定されたグループ ID、クライアント ID、ファクトリの設定を上書きする追加プロパティを使用して、共有コンシューマーを作成します。コンテナーはこれを使用して、ファクトリの設定を変更することなく、内部設定(確認応答モードなど)を適用します。このメソッドを上書きしない実装は ShareConsumerFactory.createShareConsumer(String, String) にフォールバックし、上書きプロパティは無視されます。
      次で指定:
      インターフェース ShareConsumerFactory<K,V> 内の createShareConsumer 
      パラメーター:
      groupId - グループ ID (null の場合もあります)。
      clientId - クライアント ID(null の場合もある)。
      overrideProperties - 提供時の設定に加えて適用するプロパティ。
      戻り値:
      シェアコンシューマー。
    • createRawConsumer

      protected org.apache.kafka.clients.consumer.ShareConsumer<K,V> createRawConsumer(@Nullable StringSE groupId, @Nullable StringSE clientId)
      Create the consumer with no override properties. Subclasses may override to customize consumer creation.
      パラメーター:
      groupId - グループ ID (null の場合もあります)。
      clientId - クライアント ID(null の場合もある)。
      戻り値:
      シェアコンシューマー。
    • createRawConsumer

      protected org.apache.kafka.clients.consumer.ShareConsumer<K,V> createRawConsumer(@Nullable StringSE groupId, @Nullable StringSE clientId, MapSE<StringSE,ObjectSE> overrideProperties)
      Actually create the consumer, applying override properties on top of the factory configuration. Override properties take precedence over factory configuration; groupId and clientId are applied last.
      パラメーター:
      groupId - グループ ID (null の場合もあります)。
      clientId - クライアント ID(null の場合もある)。
      overrideProperties - 提供時の設定に加えて適用するプロパティ。
      戻り値:
      シェアコンシューマー。
      導入:
      4.1
    • setBeanName

      public void setBeanName(StringSE name)
      次で指定:
      インターフェース BeanNameAware 内の setBeanName 
    • 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 
      戻り値:
      構成。