クラス 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, Hyunggeol Lee
ネストされたクラスの概要
ネストされたクラスコンストラクター概要
コンストラクターコンストラクター説明デフォルトのクロックでインスタンスを構築します。指定されたクロックでインスタンスを構築します。方法の概要
修飾子と型メソッド説明voidaddDestinationTopics(StringSE mainListenerId, ListSE<DestinationTopic> destinationsToAdd) 提供された宛先トピックをコンテナーに追加します。getDestinationTopicByName(StringSE mainListenerId, StringSE topic) そのトピックに登録されているDestinationTopicインスタンスを返します。@Nullable DestinationTopicgetDltFor(StringSE mainListenerId, StringSE topicName, @Nullable ExceptionSE e) スローされた例外を考慮して、指定されたトピックの DLT として登録されたDestinationTopicインスタンスを返します。見つからない場合は null を返します。getNextDestinationTopicFor(StringSE mainListenerId, @Nullable StringSE topic) 指定されたトピックの チェーンに次の宛先トピックとして登録されているDestinationTopicインスタンスを返します。booleanアプリケーションコンテキストがリフレッシュされた場合は true を返します。voidresolveDestinationTopic(StringSE mainListenerId, StringSE topic, IntegerSE attempt, ExceptionSE e, long originalTimestamp) 失敗したメッセージの宛先トピックを解決します。voidsetApplicationContext(ApplicationContext applicationContext) クラス ExceptionClassifier から継承されたメソッド
addNotRetryableExceptions, addRetryableExceptions, defaultFalse, defaultFalse, defaultFatalExceptionsList, getExceptionMatcher, notRetryable, removeClassification, setClassificationsクラス KafkaExceptionLogLevelAware から継承されたメソッド
getLogLevel, setLogLevelクラス ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース ApplicationListener から継承されたメソッド
supportsAsyncExecution
コンストラクターの詳細
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
public @Nullable DestinationTopic getDltFor(StringSE mainListenerId, StringSE topicName, @Nullable ExceptionSE e) インターフェースからコピーされた説明:DestinationTopicContainerスローされた例外を考慮して、指定されたトピックの DLT として登録されたDestinationTopicインスタンスを返します。見つからない場合は null を返します。- 次で指定:
- インターフェース
DestinationTopicContainer内のgetDltFor - パラメーター:
mainListenerId- リスナー ID。topicName- DLT を検索するトピック名e- 処理中の例外- 戻り値:
- DLT に対応する
DestinationTopicインスタンス。
getNextDestinationTopicFor
public DestinationTopic getNextDestinationTopicFor(StringSE mainListenerId, @Nullable StringSE topic) インターフェースからコピーされた説明: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