クラス 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, getPulsarClient, 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