【发布时间】:2021-03-04 11:40:09
【问题描述】:
我有一个 spring-kafka 微服务,我最近添加了一个死信,以便能够发送各种错误消息
//some code..
@Component
public class KafkaProducer {
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void sendDeadLetter(String message) {
kafkaTemplate.send("myDeadLetter", message);
}
}
我想将死信的主题kafka称为“messageTopic”+“_deadLetter”,我的主要主题是“messageTopic”。在我的消费者中,主题名称为他提供了 application.yml,如下所示:
@KafkaListener(topics = "${spring.kafka.topic.name}")
如何通过可能从 application.yml 插入“+ deadLetter”来设置相同的 kafka 主题?我试过这样的事情:
@Component
@KafkaListener(topics = "${spring.kafka.topic.name}"+"_deadLetter")
public class KafkaProducer {
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void sendDeadLetter(String message) {
kafkaTemplate.send("messageTopic_deadLetter", message);
}
}
但它为我创建了两个同名的不同主题。我正在等待一些建议,感谢您的帮助!
【问题讨论】:
标签: spring apache-kafka spring-kafka