流桥在发送到非分区主题时添加分区号
stream bridge add partition number when send to non-partition topic
我有生产者使用 StreamBridge
将消息发送到分区主题,之后我有一个消费者听下面的分区主题,经过一些处理后它会发布一个事件到非-分区主题。
但是我发现它会自动在我的非分区主题的末尾添加分区号,分区号与消费者收到的分区号相同。
有人知道为什么吗?谢谢
@Bean
Consumer<Message<HcpEvent>> receiveSuccessFromHcp(){
return message -> {
HcpEvent hcpEvent = message.getPayload();
// some business code
streamBridge.send("createUser-out-0", createUserEvent);
} ;
}
使用
streamBridge.send("createUser-out-0",
MessageBuilder.withPayload(createUserEvent)
.setHeader(KafkaHeaders.PARTITION_ID, 0)
.build());
我调试后发现,先用StreamBridge
发送到分区topic,之后再用它发送到非分区topic时,会复用之前的,包括分区其中的处理程序。我复制里面的代码,然后手动删除分区处理程序,只用于向非分区主题发送消息。
我有生产者使用 StreamBridge
将消息发送到分区主题,之后我有一个消费者听下面的分区主题,经过一些处理后它会发布一个事件到非-分区主题。
但是我发现它会自动在我的非分区主题的末尾添加分区号,分区号与消费者收到的分区号相同。
有人知道为什么吗?谢谢
@Bean
Consumer<Message<HcpEvent>> receiveSuccessFromHcp(){
return message -> {
HcpEvent hcpEvent = message.getPayload();
// some business code
streamBridge.send("createUser-out-0", createUserEvent);
} ;
}
使用
streamBridge.send("createUser-out-0",
MessageBuilder.withPayload(createUserEvent)
.setHeader(KafkaHeaders.PARTITION_ID, 0)
.build());
我调试后发现,先用StreamBridge
发送到分区topic,之后再用它发送到非分区topic时,会复用之前的,包括分区其中的处理程序。我复制里面的代码,然后手动删除分区处理程序,只用于向非分区主题发送消息。