アノテーションインターフェース RetryableTopic
@TargetSE({METHODSE,ANNOTATION_TYPESE,TYPESE})
@RetentionSE(RUNTIMESE)
@DocumentedSE
public @interface RetryableTopic
KafkaListener
アノテーション付きリスナーの再試行トピックと dlt トピックを作成するためのアノテーション。使用例については、RetryTopicConfigurer
を参照してください。すべての文字列プロパティは、プロパティプレースホルダー ${...}
または SpEL 式 #{...}
から解決できます。- 導入:
- 2.7
- 作成者:
- Tomaz Fernandes, Gary Russell, Fabio da Silva Jr., Jo ã o Lima, Adrian Chlebosz, Wang Zhiyang
- 関連事項:
オプション要素のサマリー
修飾子と型オプションの要素説明メッセージが DLT に送信される前に行われた試行の数。提供された構成で登録した後にトピックを作成する必要があるかどうか。DLT コンテナーのみのコンテナーファクトリのautoStartup
プロパティをオーバーライドします。org.springframework.retry.annotation.Backoff
この操作を再試行するためのバックオフプロパティを指定します。再試行コンテナーと DLT コンテナーの同時実行。指定しない場合、メインコンテナーの同時実行性が使用されます。DLT を作成するかどうか、および配信が失敗した場合、単にあきらめた場合は DLT に再配信します。dlt トピックを生成するためにメイントピックに追加されるサフィックス。処理中にスローされた例外に基づいてメッセージをカスタム DLT にリダイレクトできるようにする DLT ルーティング。ClassSE<? extends ThrowableSE>[]
再試行してはならない例外型。StringSE[]
再試行してはならない例外クラス名。ClassSE<? extends ThrowableSE>[]
再試行する必要のある例外型。StringSE[]
再試行する必要のある例外クラス名。メッセージを再試行トピックと Dlt トピックに転送するために使用されるKafkaTemplate
Bean の Bean 名。再試行および dlt トピックのコンシューマーを作成するために使用されるConcurrentKafkaListenerContainerFactory
の Bean 名。自動的に作成されたトピックのパーティションの数。自動的に作成されたトピックの複製係数。再試行トピックを生成するためにメイントピックに追加されるサフィックス。同じバックオフ間隔で行われた連続試行のトピック再利用戦略。メッセージの再試行が断念され、メッセージが DLT に送信されるまでのミリ秒単位の時間。再試行トピックの末尾に、そのトピックの遅延値を付けるか、単純なインデックスを付けるか。キャプチャーされた例外をトラバースして、上記の例外を探す必要があるかどうか。
要素の詳細
attempts
StringSE attemptsメッセージが DLT に送信される前に行われた試行の数。式は、そのように解析できる整数または文字列に解決する必要があります。デフォルト 3。- 戻り値:
- 試行回数。
- デフォルト:
- "3"
backoff
org.springframework.retry.annotation.Backoff backoffこの操作を再試行するためのバックオフプロパティを指定します。デフォルトは、プロパティのない単純なBackoff
仕様です。デフォルトについては、ドキュメントを参照してください。- 戻り値:
- バックオフ仕様
- デフォルト:
- @org.springframework.retry.annotation.Backoff
timeout
StringSE timeoutメッセージの再試行を中止してメッセージを DLT に送信するまでの時間 (ミリ秒)。式は、そのまま解析できる Long または String に解決される必要があります。- 戻り値:
- タイムアウト値。
- デフォルト:
- ""
kafkaTemplate
StringSE kafkaTemplateメッセージを再試行トピックと Dlt トピックに転送するために使用されるKafkaTemplate
Bean の Bean 名。指定しない場合、retryTopicDefaultKafkaTemplate
またはkafkaTemplate
という名前の Bean が検索されます。- 戻り値:
- kafkaTemplate Bean 名。
- デフォルト:
- ""
listenerContainerFactory
StringSE listenerContainerFactory再試行および dlt トピックのコンシューマーを作成するために使用されるConcurrentKafkaListenerContainerFactory
の Bean 名。何も指定されていない場合は、KafkaListener
アノテーションからのものが使用されます。そうでない場合は、デフォルトのものが使用されます。- 戻り値:
- listenerContainerFactory Bean 名。
- デフォルト:
- ""
autoCreateTopics
StringSE autoCreateTopics提供された構成で登録した後にトピックを作成する必要があるかどうか。KafkaConsumer
によって処理される Kafka 構成の ConsumerConfig.ALLOW_AUTO_CREATE_TOPICS_CONFIG と混同しないでください。式は、そのように解析できるブール値または文字列に解決される必要があります。- 戻り値:
- 構成。
- デフォルト:
- 「本当」
numPartitions
StringSE numPartitions自動的に作成されたトピックのパーティションの数。式は、そのように解析できる整数または文字列に解決する必要があります。デフォルト 1。- 戻り値:
- パーティションの数。
- デフォルト:
- "1"
replicationFactor
StringSE replicationFactor自動作成されたトピックの複製係数。式は、そのように解析できる short または String に解決される必要があります。ブローカーがバージョン 2.4 より前の場合、デフォルトは -1 であり、ブローカーのデフォルトを使用します。明示的な値が必要です。- 戻り値:
- 複製係数。
- デフォルト:
- "-1"
include
ClassSE<? extends ThrowableSE>[] include再試行する必要のある例外型。- 戻り値:
- 例外。
- デフォルト:
- {}
exclude
ClassSE<? extends ThrowableSE>[] exclude再試行してはならない例外型。メッセージ処理がこれらの例外をスローすると、メッセージは DLT に直接送信されます。- 戻り値:
- 再試行されない例外。
- デフォルト:
- {}
includeNames
StringSE[] includeNames再試行する必要のある例外クラス名。- 戻り値:
- 例外。
- デフォルト:
- {}
excludeNames
StringSE[] excludeNames再試行してはならない例外クラス名。メッセージ処理がこれらの例外をスローすると、メッセージは DLT に直接送信されます。- 戻り値:
- 再試行されない例外。
- デフォルト:
- {}
traversingCauses
StringSE traversingCausesキャプチャーされた例外をトラバースして、上記の例外を探す必要があるかどうか。式は、そのように解析できるブール値または文字列に解決される必要があります。include()
またはexclude()
が提供されている場合、デフォルトは true です。それ以外の場合は false。- 戻り値:
- 値。
- デフォルト:
- ""
retryTopicSuffix
StringSE retryTopicSuffix再試行トピックを生成するためにメイントピックに追加されるサフィックス。対応する遅延値も追加されます。- 戻り値:
- 再試行トピックのサフィックス。
- デフォルト:
- "-retry"
dltTopicSuffix
StringSE dltTopicSuffixdlt トピックを生成するためにメイントピックに追加されるサフィックス。- 戻り値:
- dlt サフィックス。
- デフォルト:
- "-dlt"
exceptionBasedDltRouting
ExceptionBasedDltDestination[] exceptionBasedDltRouting処理中にスローされた例外に基づいてメッセージをカスタム DLT にリダイレクトできるようにする DLT ルーティング。- 戻り値:
- 例外ベースの DLT ルーティング
- 導入:
- 3.2.0
- デフォルト:
- {}
topicSuffixingStrategy
TopicSuffixingStrategy topicSuffixingStrategy再試行トピックの末尾に、そのトピックの遅延値を付けるか、単純なインデックスを付けるか。- 戻り値:
- 戦略。
- デフォルト:
- SUFFIX_WITH_DELAY_VALUE
sameIntervalTopicReuseStrategy
SameIntervalTopicReuseStrategy sameIntervalTopicReuseStrategy同じバックオフ間隔で行われた連続試行に対するトピック再利用戦略。3.2 から、デフォルトの動作をSameIntervalTopicReuseStrategy.SINGLE_TOPIC
に変更します。- 戻り値:
- 戦略。
- 導入:
- 3.0.4
- デフォルト:
- SINGLE_TOPIC
dltStrategy
DltStrategy dltStrategyDLT を作成するかどうか、および配信が失敗した場合、単にあきらめた場合は DLT に再配信します。- 戻り値:
- dlt 戦略。
- デフォルト:
- ALWAYS_RETRY_ON_ERROR
autoStartDltHandler
StringSE autoStartDltHandlerDLT コンテナーのみのコンテナーファクトリのautoStartup
プロパティをオーバーライドします。通常、autoStartup
が true の場合に DLT コンテナーを開始しないために使用されます。- 戻り値:
- ファクトリをオーバーライドするかどうか。
- 導入:
- 2.8
- デフォルト:
- ""
concurrency
StringSE concurrency再試行コンテナーと DLT コンテナーの同時実行。指定しない場合、メインコンテナーの同時実行性が使用されます。- 戻り値:
- 並行性。
- 導入:
- 3.0
- デフォルト:
- ""