クラス 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, Omer Celik
ネストされたクラスの要約
ネストされたクラスコンストラクターの概要
コンストラクターコンストラクター説明デフォルトのクロックでインスタンスを構築します。指定されたクロックでインスタンスを構築します。メソッドのサマリー
修飾子と型メソッド説明voidaddDestinationTopics(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 を返します。voidresolveDestinationTopic(StringSE mainListenerId, StringSE topic, IntegerSE attempt, ExceptionSE e, long originalTimestamp) 失敗したメッセージの宛先トピックを解決します。voidsetApplicationContext(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