クラス DefaultDestinationTopicResolver
java.lang.ObjectSE
org.springframework.kafka.listener.KafkaExceptionLogLevelAware
org.springframework.kafka.listener.ExceptionClassifier
org.springframework.kafka.retrytopic.DefaultDestinationTopicResolver
- 実装されたすべてのインターフェース:
EventListenerSE
、Aware
、ApplicationContextAware
、ApplicationListener<ContextRefreshedEvent>
、DestinationTopicContainer
、DestinationTopicResolver
public class DefaultDestinationTopicResolver
extends ExceptionClassifier
implements DestinationTopicResolver, ApplicationListener<ContextRefreshedEvent>, ApplicationContextAware
DestinationTopicResolver
インターフェースのデフォルト実装。コンテナーは ContextRefreshedEvent
を受信すると閉じられ、その後は宛先を追加できなくなります。- 導入:
- 2.7
- 作成者:
- Tomaz Fernandes, Gary Russell, Yvette Quinby, Adrian Chlebosz
ネストされたクラスのサマリー
ネストされたクラスコンストラクターのサマリー
コンストラクターコンストラクター説明デフォルトのクロックでインスタンスを構築します。指定されたクロックでインスタンスを構築します。メソッドのサマリー
修飾子と型メソッド説明void
addDestinationTopics
(StringSE mainListenerId, ListSE<DestinationTopic> destinationsToAdd) 提供された宛先トピックをコンテナーに追加します。getDestinationTopicByName
(StringSE mainListenerId, StringSE topic) そのトピックに登録されているDestinationTopic
インスタンスを返します。getDltFor
(StringSE mainListenerId, StringSE topicName, ExceptionSE e) スローされた例外を考慮して、指定されたトピックの DLT として登録されたDestinationTopic
インスタンスを返します。見つからない場合は null を返します。getNextDestinationTopicFor
(StringSE mainListenerId, StringSE topic) 指定されたトピックの チェーン に次の宛先トピックとして登録されているDestinationTopic
インスタンスを返します。boolean
アプリケーションコンテキストがリフレッシュされた場合は true を返します。void
resolveDestinationTopic
(StringSE mainListenerId, StringSE topic, IntegerSE attempt, ExceptionSE e, long originalTimestamp) 失敗したメッセージの宛先トピックを解決します。void
setApplicationContext
(ApplicationContext applicationContext) クラス org.springframework.kafka.listener.ExceptionClassifier から継承されたメソッド
addNotRetryableExceptions, addRetryableExceptions, defaultFalse, defaultFalse, defaultFatalExceptionsList, getClassifier, notRetryable, removeClassification, setClassifications
クラス org.springframework.kafka.listener.KafkaExceptionLogLevelAware から継承されたメソッド
getLogLevel, setLogLevel
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.context.ApplicationListener から継承されたメソッド
supportsAsyncExecution
インターフェース org.springframework.kafka.retrytopic.DestinationTopicContainer から継承されたメソッド
getDltFor
コンストラクターの詳細
DefaultDestinationTopicResolver
指定されたクロックでインスタンスを構築します。- パラメーター:
clock
- タイムアウトの確認など、時間ベースの操作に使用されるクロック。- 導入:
- 2.9
DefaultDestinationTopicResolver
public DefaultDestinationTopicResolver()デフォルトのクロックでインスタンスを構築します。- 導入:
- 2.9
メソッドの詳細
resolveDestinationTopic
public DestinationTopic resolveDestinationTopic(StringSE mainListenerId, StringSE topic, IntegerSE attempt, ExceptionSE e, long originalTimestamp) インターフェースからコピーされた説明:DestinationTopicResolver
失敗したメッセージの宛先トピックを解決します。- 次で指定:
- インターフェース
DestinationTopicResolver
のresolveDestinationTopic
- パラメーター:
mainListenerId
- リスナー ID。topic
- メッセージの現在のトピック。attempt
- そのメッセージに対してすでに行われた処理の試行回数。e
- メッセージ処理がスローした例外originalTimestamp
- メッセージを最初に処理しようとしたときに例外がスローされた時刻。- 戻り値:
- 指定されたパラメーターの
DestinationTopic
。
getDestinationTopicByName
インターフェースからコピーされた説明:DestinationTopicContainer
そのトピックに登録されているDestinationTopic
インスタンスを返します。- 次で指定:
- インターフェース
DestinationTopicContainer
のgetDestinationTopicByName
- パラメーター:
mainListenerId
- リスナー ID。topic
- 返される DestinationTopic のトピック名。- 戻り値:
- そのトピックに登録されている DestinationTopic インスタンス。
getDltFor
@Nullable public DestinationTopic getDltFor(StringSE mainListenerId, StringSE topicName, ExceptionSE e) インターフェースからコピーされた説明:DestinationTopicContainer
スローされた例外を考慮して、指定されたトピックの DLT として登録されたDestinationTopic
インスタンスを返します。見つからない場合は null を返します。- 次で指定:
- インターフェース
DestinationTopicContainer
のgetDltFor
- パラメーター:
mainListenerId
- リスナー ID。topicName
- DLT を検索するトピック名e
- 処理中の例外- 戻り値:
- DLT に対応する
DestinationTopic
インスタンス。
getNextDestinationTopicFor
インターフェースからコピーされた説明:DestinationTopicContainer
指定されたトピックの チェーン に次の宛先トピックとして登録されているDestinationTopic
インスタンスを返します。これは、メッセージが転送される実際の次のトピックに対応しない場合があることに注意してください。これは、さまざまな要因に依存するためです。メッセージの正確な次のトピックを見つける必要がある場合は、代わりにDestinationTopicResolver.resolveDestinationTopic(String, String, Integer, Exception, long)
メソッドを使用してください。- 次で指定:
- インターフェース
DestinationTopicContainer
のgetNextDestinationTopicFor
- パラメーター:
mainListenerId
- リスナー ID。topic
- 返される DestinationTopic のトピック名。- 戻り値:
- そのトピックに登録された チェーン 内の次の DestinationTopic。
addDestinationTopics
public void addDestinationTopics(StringSE mainListenerId, ListSE<DestinationTopic> destinationsToAdd) インターフェースからコピーされた説明:DestinationTopicContainer
提供された宛先トピックをコンテナーに追加します。- 次で指定:
- インターフェース
DestinationTopicContainer
のaddDestinationTopics
- パラメーター:
mainListenerId
- リスナー ID。destinationsToAdd
- 追加するDestinationTopic
リスト。
onApplicationEvent
- 次で指定:
- インターフェース
ApplicationListener<ContextRefreshedEvent>
のonApplicationEvent
isContextRefreshed
public boolean isContextRefreshed()アプリケーションコンテキストがリフレッシュされた場合は true を返します。- 戻り値:
- リフレッシュされた場合は true。
- 導入:
- 2.7.8
setApplicationContext
- 次で指定:
- インターフェース
ApplicationContextAware
のsetApplicationContext
- 例外:
BeansException