【发布时间】:2022-11-16 22:25:50
【问题描述】:
我的开发环境: Java 8 弹簧卡夫卡 - 2.6.1 spring-kafka-test- 2.6.7 弹簧启动 - 2.3.10
用于发送消息的 Rest API
@PostMapping(
value = {"publish"})
@ExternalApi
public ResponseEntity<Response> endpoint() {
Response response= new Response();
User user= new User();
user.setName("userfirstname");
LOG.info("in controller ->" + event);
kafkaTemplate.send("user.topic","sendign String message");
return new ResponseEntity<>(response,
HttpStatus.OK);
}
消费者
@myListener(topics = "user.topic", myattr="user.topic.deadletter")
public void consume(ConsumerRecord<?, User> consumerRecord) {
LOG.info("consumer topic-> " + consumerRecord.topic());
LOG.info("consumer value-> " + consumerRecord.value());
}
我有元监听器
@KafkaListener(
containerFactory = "listenerContainerFactory",
autoStartup = "false",
properties = {
}
)
public @interface myListener {
@AliasFor(
annotation = KafkaListener.class,
attribute = "groupId")
String groupId() default "";
String myattr() default "";
}
现在我想向 myattr="user.topic.deadletter" 中提到的新主题发送消息,以防出现问题?
如何将消息发送到 myattr 中提到的以及如何从自定义注释@myListener 中获取值
【问题讨论】:
标签: java spring spring-kafka dead-letter