我使用流云流来接收事件并将其发布到kafka我也使用函数编程模型。
假设我有这个bean定义:
@Bean
public Function<InputMsg,OutputMsg> handle(){
//do some calculation that returns OutputMsg
}
如何控制消息的密钥?也就是说,我想将OutputMsg事件发送回kafka,但我不知道如何控制密钥,只知道值(在我的示例中为OutputMsg
请改用Function<Message<InputMsg>, Message<OutputMsg>>
。
在入站消息中,密钥在msg.getHeaders().get(KafkaHeaders.RECEIVED_MESSAGE_KEY)
中;要设置出站消息中的密钥,请设置KafkaHeaders.MESSAGE_KEY
。