クラス CachingPulsarProducerFactory<T>

java.lang.ObjectSE
org.springframework.pulsar.core.DefaultPulsarProducerFactory<T>
org.springframework.pulsar.core.CachingPulsarProducerFactory<T>
型パラメーター:
T - プロデューサー型。
実装されたすべてのインターフェース:
DisposableBeanLifecyclePhasedSmartLifecyclePulsarProducerFactory<T>

public class CachingPulsarProducerFactory<T> extends DefaultPulsarProducerFactory<T>
作成されたプロデューサーをキャッシュすることによって default implementation を継承する PulsarProducerFactory

作成されたプロデューサーはプロキシでラップされているため、Producer.close() への呼び出しによって実際にはプロデューサーが閉じられません。実際のクローズは、プロデューサーがキャッシュから削除されるか、DisposableBean.destroy() が呼び出されるときに発生します。

プロキシされたプロデューサーは LRU 方式でキャッシュされ、構成された期間内に使用されなかった場合は削除されます。

作成者:
Chris Bono, Alexander Preu ß , Christophe Bornet
  • コンストラクターの詳細

    • CachingPulsarProducerFactory

      public CachingPulsarProducerFactory(org.apache.pulsar.client.api.PulsarClient pulsarClient, @Nullable StringSE defaultTopic, ListSE<ProducerBuilderCustomizer<T>> defaultConfigCustomizers, TopicResolver topicResolver, DurationSE cacheExpireAfterAccess, LongSE cacheMaximumSize, IntegerSE cacheInitialCapacity)
      キャッシュ構成に指定された値を使用してキャッシュプロデューサーファクトリを構築します。
      パラメーター:
      pulsarClient - プロデューサーの作成に使用されたクライアント
      defaultTopic - プロデューサーに使用するデフォルトのトピック
      defaultConfigCustomizers - 作成されたプロデューサーに適用するカスタマイザーのオプションのリスト
      topicResolver - 使用するトピックリゾルバー
      cacheExpireAfterAccess - キャッシュ内の未使用エントリが期限切れになるまでの期間
      cacheMaximumSize - キャッシュの最大サイズ (エントリ)
      cacheInitialCapacity - キャッシュの初期サイズ
  • メソッドの詳細

    • doCreateProducer

      protected org.apache.pulsar.client.api.Producer<T> doCreateProducer(org.apache.pulsar.client.api.Schema<T> schema, @Nullable StringSE topic, @Nullable CollectionSE<StringSE> encryptionKeys, @Nullable ListSE<ProducerBuilderCustomizer<T>> customizers)
      クラスからコピーされた説明: DefaultPulsarProducerFactory
      実際のプロデューサーを作成します。
      オーバーライド:
      クラス DefaultPulsarProducerFactory<T>doCreateProducer 
      パラメーター:
      schema - 送信されるメッセージのスキーマ
      topic - プロデューサーがメッセージを送信するトピック、またはデフォルトのトピックを使用する null 
      encryptionKeys - プロデューサーが使用する暗号化キー。デフォルトの暗号化キーを置き換えるか、null がデフォルトの暗号化キーを使用します。ProducerBuilder には ProducerBuilder.addEncryptionKey(java.lang.String) のみがあり、暗号化キーを置き換えるメソッドがないことに注意してください。
      customizers - プロデューサービルダーに適用するカスタマイザーのオプションのリスト
      戻り値:
      作られたプロデューサー
    • getPhase

      public int getPhase()
      このライフサイクルオブジェクトが実行されるはずのフェーズを返します。

      このオブジェクトは再起動可能なクライアントに依存するため、再起動可能なクライアントが使用するフェーズよりもわずかに大きいフェーズを使用します。これにより、再起動可能なクライアントの後に開始され、その前に停止することが保証されます。

      次で指定:
      インターフェース PhasedgetPhase 
      次で指定:
      インターフェース SmartLifecyclegetPhase 
      戻り値:
      実行するフェーズ (再起動可能なクライアントの直後)
      関連事項:
    • currentState

      public AtomicReferenceSE<org.springframework.pulsar.core.RestartableComponentSupport.State> currentState()
    • logger

      public LogAccessor logger()
    • doStop

      public void doStop()
    • isRunning

      default boolean isRunning()
      次で指定:
      インターフェース LifecycleisRunning 
    • start

      default void start()
      次で指定:
      インターフェース Lifecyclestart 
    • doStart

      default void doStart()
      起動時に呼び出されるコールバック - デフォルトの実装では何も行われません。
    • stop

      default void stop()
      次で指定:
      インターフェース Lifecyclestop 
    • destroy

      default void destroy()
      次で指定:
      インターフェース DisposableBeandestroy