|
对于最新稳定版本,请使用 Spring for Apache Kafka 4.0.0! |
指定听取器容器工厂
默认情况下,RetryTopic配置将使用提供的工厂配置@KafkaListener注释,但你可以指定另一个注释来创建重试主题和DLT监听器容器。
对于@RetryableTopic注释:你可以提供工厂的豆子名称,并使用RetryTopicConfiguration豆子,你可以提供豆子的名字或者实例本身。
@RetryableTopic(listenerContainerFactory = "my-retry-topic-factory")
@KafkaListener(topics = "my-annotated-topic")
public void processMessage(MyPojo message) {
// ... message processing
}
@Bean
public RetryTopicConfiguration myRetryTopic(KafkaTemplate<Integer, MyPojo> template,
ConcurrentKafkaListenerContainerFactory<Integer, MyPojo> factory) {
return RetryTopicConfigurationBuilder
.newInstance()
.listenerFactory(factory)
.create(template);
}
@Bean
public RetryTopicConfiguration myOtherRetryTopic(KafkaTemplate<Integer, MyPojo> template) {
return RetryTopicConfigurationBuilder
.newInstance()
.listenerFactory("my-retry-topic-factory")
.create(template);
}
| 从2.8.3版本开始,你可以用同一个工厂来表示可重试和不可重试的主题。 |