インターフェース ProducerFactory<K,V>

型パラメーター:
K - 鍵の型。
V - 値の型。
すべての既知の実装クラス:
DefaultKafkaProducerFactoryMockProducerFactory

public interface ProducerFactory<K,V>
Producer インスタンスを生成する戦略。
作成者:
Gary Russell, Thomas Strau ß
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    インターフェース
    説明
    static interface
    プロデューサーが追加または削除されるたびに呼び出されます。
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final DurationSE
    デフォルトのクローズタイムアウト期間は 30 秒です。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    default void
    addListener(int index, ProducerFactory.Listener<K,V> listener)
    特定のインデックスにリスナーを追加します。
    default void
    リスナーを追加します。
    default void
    ポストプロセッサーを追加します。
    default void
    ファクトリ実装でスレッドにバインドされたプロデューサーを使用する場合は、このメソッドを呼び出して、このスレッドのプロデューサーを閉じて解放します。
    インスタンスのプロパティと指定されたプロパティをコピーして、新しいプロデューサーファクトリを作成します。
    default org.apache.kafka.clients.producer.Producer<K,V>
    非トランザクションプロデューサーを作成します。
    org.apache.kafka.clients.producer.Producer<K,V>
    ファクトリがそのように構成されている場合にトランザクションになるプロデューサーを作成します。
    default org.apache.kafka.clients.producer.Producer<K,V>
    オーバーライドされたトランザクション ID プレフィックスを使用してプロデューサーを作成します。
    このファクトリの構成マップへの変更不可能な参照を返します。
    default org.apache.kafka.common.serialization.Serializer<K>
    構成されたキーシリアライザーを返します(プロパティでクラス名の代わりにオブジェクトとして提供されている場合)。
    default SupplierSE<org.apache.kafka.common.serialization.Serializer<K>>
    キーシリアライザのサプライヤーを返します。
    リスナーの現在のリストを取得します。
    default DurationSE
    物理的なクローズタイムアウトを取得します。
    ポストプロセッサーの現在のリストを取得します。
    default StringSE
    トランザクション ID プレフィックスを返します。
    default org.apache.kafka.common.serialization.Serializer<V>
    構成された値シリアライザーを返します(プロパティでクラス名の代わりにオブジェクトとして提供されている場合)。
    default SupplierSE<org.apache.kafka.common.serialization.Serializer<V>>
    値シリアライザーのサプライヤーを返します。
    default boolean
    スレッドごとにプロデューサーが存在する場合は true を返します。
    default void
    指定されたキーを構成マップから削除します。
    default boolean
    リスナーを削除します。
    default boolean
    ポストプロセッサーを取り外します。
    default void
    サポートされている場合は、提供時の状態をリセットします。
    default boolean
    ファクトリがトランザクションをサポートしている場合は true を返します。
    default void
    プロデューサー構成マップを更新します。クレデンシャルローテーションなどの状況で役立ちます。
  • フィールドの詳細

    • DEFAULT_PHYSICAL_CLOSE_TIMEOUT

      static final DurationSE DEFAULT_PHYSICAL_CLOSE_TIMEOUT
      デフォルトのクローズタイムアウト期間は 30 秒です。
  • メソッドの詳細

    • createProducer

      org.apache.kafka.clients.producer.Producer<K,V> createProducer()
      ファクトリがそのように構成されている場合にトランザクションになるプロデューサーを作成します。
      戻り値:
      プロデューサー。
      関連事項:
    • createProducer

      default org.apache.kafka.clients.producer.Producer<K,V> createProducer(@Nullable StringSE txIdPrefix)
      オーバーライドされたトランザクション ID プレフィックスを使用してプロデューサーを作成します。
      パラメーター:
      txIdPrefix - トランザクション ID プレフィックス。
      戻り値:
      プロデューサー。
      導入:
      2.3
    • createNonTransactionalProducer

      default org.apache.kafka.clients.producer.Producer<K,V> createNonTransactionalProducer()
      非トランザクションプロデューサーを作成します。
      戻り値:
      プロデューサー。
      導入:
      2.4.3
      関連事項:
    • transactionCapable

      default boolean transactionCapable()
      ファクトリがトランザクションをサポートしている場合は true を返します。
      戻り値:
      トランザクションの場合は true。
    • closeThreadBoundProducer

      default void closeThreadBoundProducer()
      ファクトリ実装でスレッドにバインドされたプロデューサーを使用する場合は、このメソッドを呼び出して、このスレッドのプロデューサーを閉じて解放します。
      導入:
      2.3
    • reset

      default void reset()
      サポートされている場合は、提供時の状態をリセットします。
      導入:
      2.4
    • getConfigurationProperties

      default MapSE<StringSE,ObjectSE> getConfigurationProperties()
      このファクトリの構成マップへの変更不可能な参照を返します。類似のファクトリを作るためのクローン作成に便利です。
      戻り値:
      構成。
      導入:
      2.5
    • getValueSerializerSupplier

      default SupplierSE<org.apache.kafka.common.serialization.Serializer<V>> getValueSerializerSupplier()
      バリューシリアライザーのサプライヤーを return してください。同様のファクトリを作成するためのクローン作成に役立ちます。
      戻り値:
      サプライヤー。
      導入:
      2.5
    • getKeySerializerSupplier

      default SupplierSE<org.apache.kafka.common.serialization.Serializer<K>> getKeySerializerSupplier()
      キーシリアライザーのサプライヤーを return してください。同様のファクトリを作成するためのクローン作成に役立ちます。
      戻り値:
      サプライヤー。
      導入:
      2.5
    • isProducerPerThread

      default boolean isProducerPerThread()
      スレッドごとにプロデューサーが存在する場合は true を返します。
      戻り値:
      スレッドごとのプロデューサー。
      導入:
      2.5
    • getTransactionIdPrefix

      @Nullable default StringSE getTransactionIdPrefix()
      トランザクション ID プレフィックスを返します。
      戻り値:
      プレフィックスまたは設定されていない場合は null。
      導入:
      2.5
    • getPhysicalCloseTimeout

      default DurationSE getPhysicalCloseTimeout()
      物理的なクローズタイムアウトを取得します。
      戻り値:
      タイムアウト。
      導入:
      2.5
    • addListener

      default void addListener(ProducerFactory.Listener<K,V> listener)
      リスナーを追加します。
      パラメーター:
      listener - リスナー。
      導入:
      2.5.3
    • addListener

      default void addListener(int index, ProducerFactory.Listener<K,V> listener)
      特定のインデックスにリスナーを追加します。
      パラメーター:
      index - インデックス (リストの位置)。
      listener - リスナー。
      導入:
      2.5.3
    • removeListener

      default boolean removeListener(ProducerFactory.Listener<K,V> listener)
      リスナーを削除します。
      パラメーター:
      listener - リスナー。
      戻り値:
      削除された場合は true。
      導入:
      2.5.3
    • getListeners

      default ListSE<ProducerFactory.Listener<K,V>> getListeners()
      リスナーの現在のリストを取得します。
      戻り値:
      リスナー。
      導入:
      2.5.3
    • addPostProcessor

      default void addPostProcessor(ProducerPostProcessor<K,V> postProcessor)
      ポストプロセッサーを追加します。
      パラメーター:
      postProcessor - ポストプロセッサー。
      導入:
      2.5.3
    • removePostProcessor

      default boolean removePostProcessor(ProducerPostProcessor<K,V> postProcessor)
      ポストプロセッサーを取り外します。
      パラメーター:
      postProcessor - ポストプロセッサー。
      戻り値:
      削除された場合は true。
      導入:
      2.5.3
    • getPostProcessors

      default ListSE<ProducerPostProcessor<K,V>> getPostProcessors()
      ポストプロセッサーの現在のリストを取得します。
      戻り値:
      ポストプロセッサー。
      導入:
      2.5.3
    • updateConfigs

      default void updateConfigs(MapSE<StringSE,ObjectSE> updates)
      プロデューサー構成マップを更新します。クレデンシャルローテーションなどの状況で役立ちます。
      パラメーター:
      updates - 更新する構成プロパティ。
      導入:
      2.5.10
    • removeConfig

      default void removeConfig(StringSE configKey)
      指定されたキーを構成マップから削除します。
      パラメーター:
      configKey - 削除するキー。
      導入:
      2.5.10
    • getKeySerializer

      @Nullable default org.apache.kafka.common.serialization.Serializer<K> getKeySerializer()
      構成されたキーシリアライザーを返します(プロパティでクラス名の代わりにオブジェクトとして提供されている場合)。
      戻り値:
      シリアライザー。
      導入:
      2.8
    • getValueSerializer

      @Nullable default org.apache.kafka.common.serialization.Serializer<V> getValueSerializer()
      構成された値シリアライザーを返します(プロパティでクラス名の代わりにオブジェクトとして提供されている場合)。
      戻り値:
      シリアライザー。
      導入:
      2.8
    • copyWithConfigurationOverride

      default ProducerFactory<K,V> copyWithConfigurationOverride(MapSE<StringSE,ObjectSE> overrideProperties)
      インスタンスのプロパティと指定されたプロパティをコピーして、新しいプロデューサーファクトリを作成します。

      コピーは、設定された値よりもオーバーライドプロパティを優先します。新しいファクトリの構成が同一で、完全で、正しいことを確認するのは、ファクトリの実装の責任です。

      ProducerPostProcessor とリスナーはそのままにしておく必要があります。

      ファクトリがこのメソッドを実装していない場合、例外がスローされます。

      メモ: DefaultKafkaProducerFactory.copyWithConfigurationOverride(java.util.Map<java.lang.String, java.lang.Object>) を参照してください

      パラメーター:
      overrideProperties - 新しいファクトリに適用されるプロパティ
      戻り値:
      プロパティが適用された ProducerFactory
      導入:
      2.5.17
      関連事項: