クラス RetryTopicConfigurationSupport
java.lang.ObjectSE
org.springframework.kafka.retrytopic.RetryTopicConfigurationSupport
- 実装されているすべてのインターフェース:
Aware、SmartInitializingSingleton、ApplicationContextAware
public class RetryTopicConfigurationSupport
extends ObjectSE
implements ApplicationContextAware, SmartInitializingSingleton
これは、ノンブロッキングのトピックベースの遅延再試行機能の背後にある構成を提供するメインクラスです。通常、
@EnableKafkaRetryTopic をアプリケーション @Configuration クラスに追加することによってインポートされます。別のより高度なオプションは、このクラスから直接拡張し、必要に応じてメソッドをオーバーライドすることです。サブクラスに @Configuration を追加し、オーバーライドされた @Bean メソッドに @Bean を追加することを忘れないでください。詳細については、@EnableKafkaRetryTopic の javadoc を参照してください。- 導入:
- 2.9
- 作成者:
- Tomaz Fernandes, Gary Russell
ネストされたクラスの要約
ネストされたクラス修飾子と型クラス説明static classノンブロッキングで使用されるブロッキング再試行を構成します。static classトピックの再試行機能によってインスタンス化されたコンポーネントのカスタマイザーを構成します。コンストラクターの概要
コンストラクターメソッドのサマリー
修飾子と型メソッド説明voidprotected voidこのメソッドをオーバーライドして、再試行する例外や使用するBackOffなどのブロック再試行パラメーターを構成します。protected voidconfigureCustomizers(RetryTopicConfigurationSupport.CustomizersConfigurer customizersConfigurer) このメソッドをオーバーライドして、MessageListenerContainer、DeadLetterPublishingRecoverer、DefaultErrorHandlerなどのノンブロッキング再試行の構成によって作成されたコンポーネントのカスタマイザーを構成します。protected ConsumerSE<DeadLetterPublishingRecovererFactory> DeadLetterPublishingRecovererFactoryをさらに構成するには、このメソッドをオーバーライドします。protected ConsumerSE<DestinationTopicResolver> このメソッドをオーバーライドして、DestinationTopicResolverを構成します。protected ConsumerSE<ListenerContainerFactoryConfigurer> ListenerContainerFactoryConfigurerをさらに構成するには、このメソッドをオーバーライドします。protected ConsumerSE<RetryTopicConfigurer> RetryTopicConfigurerを構成する必要がある場合は、このメソッドをオーバーライドします。protected RetryTopicComponentFactoryこのメソッドをオーバーライドして、RetryTopicComponentFactoryのサブクラスに異なるコンポーネント実装またはサブクラスを提供します。destinationTopicResolver(ObjectProvider<RetryTopicComponentFactory> componentFactoryProvider) kafkaConsumerBackoffManager(ApplicationContext applicationContext, @Nullable ListenerContainerRegistry registry, ObjectProvider<RetryTopicComponentFactory> componentFactoryProvider, @Nullable RetryTopicSchedulerWrapper wrapper, @Nullable TaskScheduler taskScheduler) パーティションのバックオフに使用されるKafkaConsumerBackoffManagerインスタンスを作成します。protected voidmanageNonBlockingFatalExceptions(ListSE<ClassSE<? extends ThrowableSE>> nonBlockingRetriesExceptions) 非ブロック再試行の致命的な例外を管理するには、このメソッドをオーバーライドします。retryTopicConfigurer(KafkaConsumerBackoffManager kafkaConsumerBackoffManager, DestinationTopicResolver destinationTopicResolver, ObjectProvider<RetryTopicComponentFactory> componentFactoryProvider, BeanFactory beanFactory) 対応するRetryTopicConfigurationを持つKafkaListenerEndpointインスタンスの再試行トピックを構成するためのグローバルRetryTopicConfigurerを返します。voidsetApplicationContext(ApplicationContext applicationContext)
コンストラクターの詳細
RetryTopicConfigurationSupport
public RetryTopicConfigurationSupport()
メソッドの詳細
setApplicationContext
- 次で指定:
- インターフェース
ApplicationContextAwareのsetApplicationContext - 例外:
BeansException
afterSingletonsInstantiated
public void afterSingletonsInstantiated()- 次で指定:
- インターフェース
SmartInitializingSingletonのafterSingletonsInstantiated
retryTopicConfigurer
@Bean(name="org.springframework.kafka.retrytopic.internalRetryTopicConfigurer") public RetryTopicConfigurer retryTopicConfigurer(@Qualifier("org.springframework.kafka.config.internalKafkaConsumerBackOffManager") KafkaConsumerBackoffManager kafkaConsumerBackoffManager, @Qualifier("org.springframework.kafka.retrytopic.internalDestinationTopicResolver") DestinationTopicResolver destinationTopicResolver, ObjectProvider<RetryTopicComponentFactory> componentFactoryProvider, BeanFactory beanFactory) 対応するRetryTopicConfigurationを持つKafkaListenerEndpointインスタンスの再試行トピックを構成するためのグローバルRetryTopicConfigurerを返します。これを構成するには、configureRetryTopicConfigurer()をオーバーライドすることを検討してください。- パラメーター:
kafkaConsumerBackoffManager- グローバルKafkaConsumerBackoffManager。destinationTopicResolver- グローバルDestinationTopicResolver。componentFactoryProvider- コンポーネントファクトリプロバイダ。beanFactory-BeanFactory- 戻り値:
- インスタンス。
- 関連事項:
configureRetryTopicConfigurer
RetryTopicConfigurerを構成する必要がある場合は、このメソッドをオーバーライドします。- 戻り値:
RetryTopicConfigurerコンシューマー。
configureDeadLetterPublishingContainerFactory
protected ConsumerSE<DeadLetterPublishingRecovererFactory> configureDeadLetterPublishingContainerFactory()DeadLetterPublishingRecovererFactoryをさらに構成するには、このメソッドをオーバーライドします。- 戻り値:
DeadLetterPublishingRecovererFactoryコンシューマー。
configureListenerContainerFactoryConfigurer
protected ConsumerSE<ListenerContainerFactoryConfigurer> configureListenerContainerFactoryConfigurer()ListenerContainerFactoryConfigurerをさらに構成するには、このメソッドをオーバーライドします。- 戻り値:
ListenerContainerFactoryConfigurerコンシューマー。
configureBlockingRetries
protected void configureBlockingRetries(RetryTopicConfigurationSupport.BlockingRetriesConfigurer blockingRetries) このメソッドをオーバーライドして、再試行する例外や使用するBackOffなどのブロック再試行パラメーターを構成します。- パラメーター:
blockingRetries-RetryTopicConfigurationSupport.BlockingRetriesConfigurer。
manageNonBlockingFatalExceptions
protected void manageNonBlockingFatalExceptions(ListSE<ClassSE<? extends ThrowableSE>> nonBlockingRetriesExceptions) 非ブロック再試行の致命的な例外を管理するには、このメソッドをオーバーライドします。処理がこのリストに存在する例外をスローするレコードは、構成されている場合は DLT に直接転送され、構成されていない場合は処理が停止されます。- パラメーター:
nonBlockingRetriesExceptions- フレームワークのデフォルトを含む致命的な例外のListSE。
configureCustomizers
protected void configureCustomizers(RetryTopicConfigurationSupport.CustomizersConfigurer customizersConfigurer) このメソッドをオーバーライドして、MessageListenerContainer、DeadLetterPublishingRecoverer、DefaultErrorHandlerなどのノンブロッキング再試行の構成によって作成されたコンポーネントのカスタマイザーを構成します。- パラメーター:
customizersConfigurer-RetryTopicConfigurationSupport.CustomizersConfigurer。
destinationTopicResolver
@Bean(name="org.springframework.kafka.retrytopic.internalDestinationTopicResolver") public DestinationTopicResolver destinationTopicResolver(ObjectProvider<RetryTopicComponentFactory> componentFactoryProvider) 特定のConsumerRecordが再試行のために送信されるDestinationTopicを解決するために、グローバルDestinationTopicResolverを返します。それを構成するには、これらの他のよりきめ細かい方法のいずれかをオーバーライドすることを検討してください。- 非ブロック再試行を構成するための
manageNonBlockingFatalExceptions(java.util.List<java.lang.Class<? extends java.lang.Throwable>>)。 - コンポーネントをさらにカスタマイズするための
configureDestinationTopicResolver()。 - サブクラスのインスタンスを提供する
createComponentFactory()。
- パラメーター:
componentFactoryProvider- コンポーネントファクトリプロバイダ。- 戻り値:
- インスタンス。
- 非ブロック再試行を構成するための
configureDestinationTopicResolver
このメソッドをオーバーライドして、DestinationTopicResolverを構成します。- 戻り値:
DestinationTopicResolverコンシューマー。
kafkaConsumerBackoffManager
@Bean(name="org.springframework.kafka.config.internalKafkaConsumerBackOffManager") public KafkaConsumerBackoffManager kafkaConsumerBackoffManager(ApplicationContext applicationContext, @Qualifier("org.springframework.kafka.config.internalKafkaListenerEndpointRegistry") @Nullable ListenerContainerRegistry registry, ObjectProvider<RetryTopicComponentFactory> componentFactoryProvider, @Nullable RetryTopicSchedulerWrapper wrapper, @Nullable TaskScheduler taskScheduler) パーティションのバックオフに使用されるKafkaConsumerBackoffManagerインスタンスを作成します。カスタム実装を提供するには、このメソッドをオーバーライドするか、RetryTopicComponentFactory.kafkaBackOffManagerFactory(org.springframework.kafka.listener.ListenerContainerRegistry, org.springframework.context.ApplicationContext)メソッドをオーバーライドして別のKafkaBackOffManagerFactoryを返します。- パラメーター:
applicationContext- アプリケーションコンテキスト。registry- 実行時にMessageListenerContainerをフェッチするために使用されるListenerContainerRegistryはバックオフされます。componentFactoryProvider- コンポーネントファクトリプロバイダ。wrapper-RetryTopicSchedulerWrapper。taskScheduler-TaskScheduler。- 戻り値:
- インスタンス。
createComponentFactory
このメソッドをオーバーライドして、RetryTopicComponentFactoryのサブクラスに異なるコンポーネント実装またはサブクラスを提供します。- 戻り値:
- インスタンス。