クラス AbstractMessageListenerContainer<K,V>
java.lang.ObjectSE
org.springframework.kafka.listener.AbstractMessageListenerContainer<K,V>
- 型パラメーター:
K
- 鍵の型。V
- 値の型。
- 実装されたすべてのインターフェース:
Aware
、BeanNameAware
、DisposableBean
、ApplicationContextAware
、ApplicationEventPublisherAware
、Lifecycle
、Phased
、SmartLifecycle
、GenericMessageListenerContainer<K,
、V> MessageListenerContainer
public abstract class AbstractMessageListenerContainer<K,V>
extends ObjectSE
implements GenericMessageListenerContainer<K,V>, BeanNameAware, ApplicationEventPublisherAware, ApplicationContextAware
MessageListenerContainer
の基本実装。- 作成者:
- Gary Russell, Marius Bogoevici, Artem Bilan, Tomaz Fernandes, Wang Zhiyang, Soby Chacko
フィールドサマリー
フィールド修飾子と型フィールド説明protected final ConsumerFactory<K,
V> static final int
リスナーコンテナー 2147483547 のデフォルトSmartLifecycle
フェーズ。protected final AtomicBooleanSE
protected final ReentrantLockSE
protected final LogAccessor
コンストラクターのサマリー
コンストラクター修飾子コンストラクター説明protected
AbstractMessageListenerContainer
(ConsumerFactory<? super K, ? super V> consumerFactory, ContainerProperties containerProperties) 提供されたファクトリとプロパティを使用してインスタンスを構築します。メソッドのサマリー
修飾子と型メソッド説明void
protected void
protected final org.apache.kafka.clients.consumer.ConsumerRebalanceListener
ConsumerRebalanceListener
インスタンスのデフォルトの実装を返します。protected abstract void
doStart()
protected void
doStop
(RunnableSE callback) protected abstract void
doStop
(RunnableSE callback, boolean normal) コンテナーを正常または異常に停止します。AfterRollbackProcessor<? super K,
? super V> 現在構成されているAfterRollbackProcessor
を返します。protected ApplicationContext
イベントの発行元を取得します。protected BatchInterceptor<K,
V> Bean 名を返します。CommonErrorHandler
を取得します。このコンテナーのコンテナープロパティを返します。コンテナーに明示的に設定されているか、コンシューマーファクトリのコンシューマープロパティを介して設定されているかにかかわらず、このコンテナーのgroup.id
プロパティを返します。存在する場合、観測用のクラスター ID を見つけるために使用されるKafkaAdmin
を返します。@KafkaListener
の 'id' 属性 または spring-managed コンテナーの Bean 名。byte[]
すべてのレコードのKafkaHeaders.LISTENER_INFO
ヘッダーに追加される任意の静的情報を取得します。メイン@KafkaListener
コンテナーの 'id' 属性 (このコンテナーが再試行トピック用の場合)。それ以外の場合は null。int
getPhase()
protected RecordInterceptor<K,
V> コンシューマースレッド名を変更するために使用される関数を返します。boolean
boolean
初期化中にコンテナーがコンシューマースレッド名を変更する必要がある場合は、true を返します。protected boolean
boolean
isPartitionPauseRequested
(org.apache.kafka.common.TopicPartition topicPartition) このトピックのパーティションの一時停止がリクエストされているかどうか。protected boolean
isPaused()
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。boolean
MessageListenerContainer.pause()
が呼び出された場合は true を返します。コンテナーは実際にはまだ一時停止していない可能性があります。boolean
protected boolean
protected AbstractMessageListenerContainer<?,
?> これまたはこれに親がある場合は親コンテナーを返します。void
pause()
次の poll() の前に、このコンテナーを一時停止します。void
pausePartition
(org.apache.kafka.common.TopicPartition topicPartition) 次の poll() の前にこのパーティションを一時停止します。protected PropertiesSE
デフォルトのコンシューマーオーバーライドプロパティを明示的なプロパティにします。protected void
void
resume()
一時停止している場合は、次の poll() の後にこのコンテナーを再開します。void
resumePartition
(org.apache.kafka.common.TopicPartition topicPartition) 次の poll() の後で、一時停止している場合は、このパーティションを再開します。void
setAfterRollbackProcessor
(AfterRollbackProcessor<? super K, ? super V> afterRollbackProcessor) ロールバック後に未処理のレコードでシークを実行するようにプロセッサーを設定します。void
setApplicationContext
(ApplicationContext applicationContext) void
setApplicationEventPublisher
(ApplicationEventPublisher applicationEventPublisher) void
setAutoStartup
(boolean autoStartup) autoStartup を設定します。void
setBatchInterceptor
(BatchInterceptor<K, V> batchInterceptor) レコードリスナーを呼び出す前に呼び出されるインターセプターを設定します。void
setBeanName
(StringSE name) void
setChangeConsumerThreadName
(boolean changeConsumerThreadName) 初期化中にコンシューマースレッド名を変更するようコンテナーに指示するには、true に設定します。void
setCommonErrorHandler
(CommonErrorHandler commonErrorHandler) レコードリスナーとバッチリスナーの両方のエラーを処理できるCommonErrorHandler
を設定します。void
setInterceptBeforeTx
(boolean interceptBeforeTx) false の場合、トランザクションの開始後にインターセプターを呼び出します。void
setKafkaAdmin
(KafkaAdmin kafkaAdmin) 存在する場合、観測用のクラスター ID を見つけるために使用されるKafkaAdmin
を設定します。void
setListenerInfo
(byte[] listenerInfo) すべてのレコードのKafkaHeaders.LISTENER_INFO
ヘッダーに追加される任意の情報を設定します。void
このコンテナーが再試行トピック用の場合、メインリスナー ID を設定します。void
setPhase
(int phase) void
setRecordInterceptor
(RecordInterceptor<K, V> recordInterceptor) レコードリスナーを呼び出す前に呼び出されるインターセプターを設定します。protected void
setRunning
(boolean running) protected void
setStoppedNormally
(boolean stoppedNormally) void
setThreadNameSupplier
(FunctionSE<MessageListenerContainer, StringSE> threadNameSupplier) コンシューマースレッド名を変更するために使用する関数を設定します。void
setTopicCheckTimeout
(int topicCheckTimeout) Admin.describeTopics(Collection)
結果先物が完了するまで待機する時間。void
setupMessageListener
(ObjectSE messageListener) 使用するメッセージリスナーを設定します。final void
start()
final void
stop()
final void
stop
(boolean wait) コンテナーを停止します。void
stop
(RunnableSE callback) void
stopAbnormally
(RunnableSE callback) MessageListenerContainer.isInExpectedState()
が false を返すように、いくつかの例外の後でコンテナーを停止します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.kafka.listener.MessageListenerContainer から継承されたメソッド
childStopped, destroy, enforceRebalance, getAssignedPartitions, getAssignmentsByClientId, getContainerFor, isChildRunning, isContainerPaused, isInExpectedState, isPartitionPaused, metrics
フィールドの詳細
DEFAULT_PHASE
public static final int DEFAULT_PHASEリスナーコンテナー 2147483547 のデフォルトSmartLifecycle
フェーズ。- 関連事項:
logger
consumerFactory
lifecycleLock
enforceRebalanceRequested
コンストラクターの詳細
AbstractMessageListenerContainer
protected AbstractMessageListenerContainer(ConsumerFactory<? super K, ? super V> consumerFactory, ContainerProperties containerProperties) 提供されたファクトリとプロパティを使用してインスタンスを構築します。- パラメーター:
consumerFactory
- ファクトリ。containerProperties
- プロパティ。
メソッドの詳細
setApplicationContext
- 次で指定:
- インターフェース
ApplicationContextAware
のsetApplicationContext
- 例外:
BeansException
getApplicationContext
setBeanName
- 次で指定:
- インターフェース
BeanNameAware
のsetBeanName
getBeanName
Bean 名を返します。- 戻り値:
- Bean 名。
setApplicationEventPublisher
- 次で指定:
- インターフェース
ApplicationEventPublisherAware
のsetApplicationEventPublisher
getApplicationEventPublisher
イベントの発行元を取得します。- 戻り値:
- パブリッシャー
getCommonErrorHandler
CommonErrorHandler
を取得します。- 戻り値:
- ハンドラー。
- 導入:
- 2.8
setCommonErrorHandler
レコードリスナーとバッチリスナーの両方のエラーを処理できるCommonErrorHandler
を設定します。- パラメーター:
commonErrorHandler
- ハンドラー。- 導入:
- 2.8
isStoppedNormally
protected boolean isStoppedNormally()setStoppedNormally
protected void setStoppedNormally(boolean stoppedNormally) isAutoStartup
public boolean isAutoStartup()- 次で指定:
- インターフェース
SmartLifecycle
のisAutoStartup
setAutoStartup
public void setAutoStartup(boolean autoStartup) インターフェースからコピーされた説明:MessageListenerContainer
autoStartup を設定します。- 次で指定:
- インターフェース
MessageListenerContainer
のsetAutoStartup
- パラメーター:
autoStartup
- 設定する autoStartup。- 関連事項:
setRunning
protected void setRunning(boolean running) isRunning
public boolean isRunning()isPaused
非推奨、削除予定: この API 要素は、将来のバージョンで削除される可能性があります。isPartitionPauseRequested
public boolean isPartitionPauseRequested(org.apache.kafka.common.TopicPartition topicPartition) インターフェースからコピーされた説明:MessageListenerContainer
このトピックのパーティションの一時停止がリクエストされているかどうか。- 次で指定:
- インターフェース
MessageListenerContainer
のisPartitionPauseRequested
- パラメーター:
topicPartition
- チェックするトピックパーティション- 戻り値:
- この TopicPartition の一時停止がリクエストされた場合は true
pausePartition
public void pausePartition(org.apache.kafka.common.TopicPartition topicPartition) インターフェースからコピーされた説明:MessageListenerContainer
次の poll() の前にこのパーティションを一時停止します。これはスレッドセーフな操作であり、実際の一時停止はコンシューマースレッドによって処理されます。- 次で指定:
- インターフェース
MessageListenerContainer
のpausePartition
- パラメーター:
topicPartition
- 一時停止する topicPartition。
resumePartition
public void resumePartition(org.apache.kafka.common.TopicPartition topicPartition) インターフェースからコピーされた説明:MessageListenerContainer
次の poll() の後で、一時停止している場合は、このパーティションを再開します。これはスレッドセーフな操作であり、実際の一時停止はコンシューマースレッドによって処理されます。- 次で指定:
- インターフェース
MessageListenerContainer
のresumePartition
- パラメーター:
topicPartition
- 再開する topicPartition。
isPauseRequested
public boolean isPauseRequested()インターフェースからコピーされた説明:MessageListenerContainer
MessageListenerContainer.pause()
が呼び出された場合は true を返します。コンテナーは実際にはまだ一時停止していない可能性があります。- 次で指定:
- インターフェース
MessageListenerContainer
のisPauseRequested
- 戻り値:
- 一時停止がリクエストされた場合は true。
setPhase
public void setPhase(int phase) getPhase
public int getPhase()- 次で指定:
- インターフェース
Phased
のgetPhase
- 次で指定:
- インターフェース
SmartLifecycle
のgetPhase
getAfterRollbackProcessor
現在構成されているAfterRollbackProcessor
を返します。- 戻り値:
- アフターロールバックプロセッサー。
- 導入:
- 2.2.14
setAfterRollbackProcessor
public void setAfterRollbackProcessor(AfterRollbackProcessor<? super K, ? super V> afterRollbackProcessor) ロールバック後に未処理のレコードに対してシークを実行するようにプロセッサーを設定します。デフォルトでは、失敗したレコードを含むすべてのトピック / パーティションを現在の位置に配置しようとします。- パラメーター:
afterRollbackProcessor
- プロセッサー。- 導入:
- 1.3.5
getContainerProperties
インターフェースからコピーされた説明:MessageListenerContainer
このコンテナーのコンテナープロパティを返します。- 次で指定:
- インターフェース
MessageListenerContainer
のgetContainerProperties
- 戻り値:
- プロパティ。
getGroupId
インターフェースからコピーされた説明:MessageListenerContainer
コンテナーに明示的に設定されているか、コンシューマーファクトリのコンシューマープロパティを介して設定されているかにかかわらず、このコンテナーのgroup.id
プロパティを返します。- 次で指定:
- インターフェース
MessageListenerContainer
のgetGroupId
- 戻り値:
- グループ ID。
getListenerId
インターフェースからコピーされた説明:MessageListenerContainer
@KafkaListener
の 'id' 属性 または spring-managed コンテナーの Bean 名。- 次で指定:
- インターフェース
MessageListenerContainer
のgetListenerId
- 戻り値:
- ID または Bean 名。
setMainListenerId
このコンテナーが再試行トピック用の場合、メインリスナー ID を設定します。- パラメーター:
id
- ID。- 導入:
- 3.0.
getMainListenerId
インターフェースからコピーされた説明:MessageListenerContainer
メイン@KafkaListener
コンテナーの 'id' 属性 (このコンテナーが再試行トピック用の場合)。それ以外の場合は null。- 次で指定:
- インターフェース
MessageListenerContainer
のgetMainListenerId
- 戻り値:
- ID。
getListenerInfo
インターフェースからコピーされた説明:MessageListenerContainer
すべてのレコードのKafkaHeaders.LISTENER_INFO
ヘッダーに追加される任意の静的情報を取得します。- 次で指定:
- インターフェース
MessageListenerContainer
のgetListenerInfo
- 戻り値:
- 情報。
setListenerInfo
すべてのレコードのKafkaHeaders.LISTENER_INFO
ヘッダーに追加される任意の情報を設定します。- パラメーター:
listenerInfo
- 情報。- 導入:
- 2.8.4
setTopicCheckTimeout
public void setTopicCheckTimeout(int topicCheckTimeout) Admin.describeTopics(Collection)
結果先物が完了するまで待機する時間。- パラメーター:
topicCheckTimeout
- 秒単位のタイムアウト。デフォルトは 30 です。- 導入:
- 2.3
isChangeConsumerThreadName
public boolean isChangeConsumerThreadName()初期化中にコンテナーがコンシューマースレッド名を変更する必要がある場合は、true を返します。- 戻り値:
- 変更するのは本当です。
- 導入:
- 3.0.1
setChangeConsumerThreadName
public void setChangeConsumerThreadName(boolean changeConsumerThreadName) 初期化中にコンシューマースレッド名を変更するようコンテナーに指示するには、true に設定します。- パラメーター:
changeConsumerThreadName
- 変更するのは本当です。- 導入:
- 3.0.1
- 関連事項:
getThreadNameSupplier
コンシューマースレッド名を変更するために使用される関数を返します。- 戻り値:
- 関数。
- 導入:
- 3.0.1
setThreadNameSupplier
コンシューマースレッド名を変更するために使用する関数を設定します。デフォルトではコンテナーlistenerId
が返されます。- パラメーター:
threadNameSupplier
- 関数。- 導入:
- 3.0.1
- 関連事項:
getKafkaAdmin
存在する場合、観測用のクラスター ID を見つけるために使用されるKafkaAdmin
を返します。- 戻り値:
- カフカ管理者
- 導入:
- 3.0.5
setKafkaAdmin
存在する場合、観測用のクラスター ID を見つけるために使用されるKafkaAdmin
を設定します。- パラメーター:
kafkaAdmin
- 管理者。
getRecordInterceptor
setRecordInterceptor
レコードリスナーを呼び出す前に呼び出されるインターセプターを設定します。バッチリスナーには適用されません。- パラメーター:
recordInterceptor
- インターセプター。- 導入:
- 2.2.7
- 関連事項:
getBatchInterceptor
setBatchInterceptor
レコードリスナーを呼び出す前に呼び出されるインターセプターを設定します。- パラメーター:
batchInterceptor
- インターセプター。- 導入:
- 2.6.6
- 関連事項:
isInterceptBeforeTx
protected boolean isInterceptBeforeTx()setInterceptBeforeTx
public void setInterceptBeforeTx(boolean interceptBeforeTx) false の場合、トランザクションの開始後にインターセプターを呼び出します。- パラメーター:
interceptBeforeTx
- トランザクション内でインターセプトする場合は false。2.8 以降のデフォルトは true。- 導入:
- 2.3.4
- 関連事項:
setupMessageListener
インターフェースからコピーされた説明:MessageListenerContainer
使用するメッセージリスナーを設定します。そのメッセージリスナ型がサポートされていない場合、IllegalArgumentException
SE をスローします。- 次で指定:
- インターフェース
MessageListenerContainer
のsetupMessageListener
- パラメーター:
messageListener
-object
をMessageListener
にラップします。
start
public final void start()checkTopics
protected void checkTopics()checkGroupId
public void checkGroupId()doStart
protected abstract void doStart()stop
public final void stop()stop
public final void stop(boolean wait) コンテナーを停止します。- パラメーター:
wait
- リスナーが終了するのを待ちます。- 導入:
- 2.3.8
pause
public void pause()インターフェースからコピーされた説明:MessageListenerContainer
次の poll() の前に、このコンテナーを一時停止します。これはスレッドセーフな操作であり、実際の一時停止はコンシューマースレッドによって処理されます。- 次で指定:
- インターフェース
MessageListenerContainer
のpause
- 関連事項:
KafkaConsumer.pause(Collection)
resume
public void resume()インターフェースからコピーされた説明:MessageListenerContainer
次の poll() の後で、一時停止している場合は、このコンテナーを再開します。これはスレッドセーフな操作であり、実際の再開はコンシューマースレッドによって処理されます。- 次で指定:
- インターフェース
MessageListenerContainer
のresume
- 関連事項:
KafkaConsumer.resume(Collection)
stop
- 次で指定:
- インターフェース
SmartLifecycle
のstop
stopAbnormally
インターフェースからコピーされた説明:MessageListenerContainer
MessageListenerContainer.isInExpectedState()
が false を返すように、いくつかの例外の後でコンテナーを停止します。- 次で指定:
- インターフェース
MessageListenerContainer
のstopAbnormally
- パラメーター:
callback
- コールバック。- 関連事項:
doStop
doStop
コンテナーを正常または異常に停止します。- パラメーター:
callback
- コールバック。normal
- 予想される停止については true。- 導入:
- 2.8
createSimpleLoggingConsumerRebalanceListener
protected final org.apache.kafka.clients.consumer.ConsumerRebalanceListener createSimpleLoggingConsumerRebalanceListener()ConsumerRebalanceListener
インスタンスのデフォルトの実装を返します。- 戻り値:
- 現在このコンテナーに割り当てられている
ConsumerRebalanceListener
。
publishContainerStoppedEvent
protected void publishContainerStoppedEvent()parentOrThis
これまたはこれに親がある場合は親コンテナーを返します。- 戻り値:
- 親かこれ。
- 導入:
- 2.2.1
propertiesFromConsumerPropertyOverrides
デフォルトのコンシューマーオーバーライドプロパティを明示的なプロパティにします。- 戻り値:
- プロパティ。
- 導入:
- 2.9.11