クラス 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
を追加することを忘れないでください。詳細については、@EnableRetryTopic
の javadoc を参照してください。- 導入:
- 2.9
- 作成者:
- Tomaz Fernandes, Gary Russell
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明static class
ノンブロッキングで使用されるブロッキング再試行を構成します。static class
トピックの再試行機能によってインスタンス化されたコンポーネントのカスタマイザーを構成します。コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明void
protected void
このメソッドをオーバーライドして、再試行する例外や使用するBackOff
などのブロック再試行パラメーターを構成します。protected void
configureCustomizers
(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, ListenerContainerRegistry registry, ObjectProvider<RetryTopicComponentFactory> componentFactoryProvider, RetryTopicSchedulerWrapper wrapper, TaskScheduler taskScheduler) パーティションのバックオフに使用されるKafkaConsumerBackoffManager
インスタンスを作成します。protected void
manageNonBlockingFatalExceptions
(ListSE<ClassSE<? extends ThrowableSE>> nonBlockingRetriesExceptions) 非ブロック再試行の致命的な例外を管理するには、このメソッドをオーバーライドします。retryTopicConfigurer
(KafkaConsumerBackoffManager kafkaConsumerBackoffManager, DestinationTopicResolver destinationTopicResolver, ObjectProvider<RetryTopicComponentFactory> componentFactoryProvider, BeanFactory beanFactory) 対応するRetryTopicConfiguration
を持つKafkaListenerEndpoint
インスタンスの再試行トピックを構成するためのグローバルRetryTopicConfigurer
を返します。void
setApplicationContext
(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
- フレームワークのデフォルトを含む致命的な例外のList
SE。
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
のサブクラスに異なるコンポーネント実装またはサブクラスを提供します。- 戻り値:
- インスタンス。