クラス CachingPulsarProducerFactory<T>
java.lang.ObjectSE
org.springframework.pulsar.core.DefaultPulsarProducerFactory<T>
org.springframework.pulsar.core.CachingPulsarProducerFactory<T>
- 型パラメーター:
T
- プロデューサー型。
- 実装されたすべてのインターフェース:
DisposableBean
、Lifecycle
、Phased
、SmartLifecycle
、PulsarProducerFactory<T>
作成されたプロデューサーをキャッシュすることによって
default implementation
を継承する PulsarProducerFactory
。 作成されたプロデューサーはプロキシでラップされているため、Producer.close()
への呼び出しによって実際にはプロデューサーが閉じられません。実際のクローズは、プロデューサーがキャッシュから削除されるか、DisposableBean.destroy()
が呼び出されるときに発生します。
プロキシされたプロデューサーは LRU 方式でキャッシュされ、構成された期間内に使用されなかった場合は削除されます。
- 作成者:
- Chris Bono, Alexander Preu ß , Christophe Bornet
フィールドサマリー
インターフェース org.springframework.context.SmartLifecycle から継承されたフィールド
DEFAULT_PHASE
コンストラクターのサマリー
コンストラクター説明CachingPulsarProducerFactory
(org.apache.pulsar.client.api.PulsarClient pulsarClient, StringSE defaultTopic, ListSE<ProducerBuilderCustomizer<T>> defaultConfigCustomizers, TopicResolver topicResolver, DurationSE cacheExpireAfterAccess, LongSE cacheMaximumSize, IntegerSE cacheInitialCapacity) キャッシュ構成に指定された値を使用してキャッシュプロデューサーファクトリを構築します。メソッドのサマリー
修飾子と型メソッド説明AtomicReferenceSE<org.springframework.pulsar.core.RestartableComponentSupport.State>
default void
destroy()
protected org.apache.pulsar.client.api.Producer<T>
doCreateProducer
(org.apache.pulsar.client.api.Schema<T> schema, StringSE topic, CollectionSE<StringSE> encryptionKeys, ListSE<ProducerBuilderCustomizer<T>> customizers) 実際のプロデューサーを作成します。default void
doStart()
起動時に呼び出されるコールバック - デフォルトの実装では何も行われません。void
doStop()
int
getPhase()
このライフサイクルオブジェクトが実行されるはずのフェーズを返します。default boolean
logger()
default void
start()
default void
stop()
クラス org.springframework.pulsar.core.DefaultPulsarProducerFactory から継承されたメソッド
createProducer, createProducer, createProducer, getDefaultTopic, resolveTopicName
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.context.SmartLifecycle から継承されたメソッド
isAutoStartup, stop
コンストラクターの詳細
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()このライフサイクルオブジェクトが実行されるはずのフェーズを返します。このオブジェクトは再起動可能なクライアントに依存するため、再起動可能なクライアントが使用するフェーズよりもわずかに大きいフェーズを使用します。これにより、再起動可能なクライアントの後に開始され、その前に停止することが保証されます。
- 次で指定:
- インターフェース
Phased
のgetPhase
- 次で指定:
- インターフェース
SmartLifecycle
のgetPhase
- 戻り値:
- 実行するフェーズ (再起動可能なクライアントの直後)
- 関連事項:
currentState
public AtomicReferenceSE<org.springframework.pulsar.core.RestartableComponentSupport.State> currentState()logger
doStop
public void doStop()isRunning
default boolean isRunning()start
default void start()doStart
default void doStart()起動時に呼び出されるコールバック - デフォルトの実装では何も行われません。stop
default void stop()destroy
default void destroy()- 次で指定:
- インターフェース
DisposableBean
のdestroy