【发布时间】:2015-11-13 07:15:39
【问题描述】:
我正在使用 Kafka Spring Integration 使用 kafka 发布和使用消息。我看到 Payload 已正确地从生产者传递到消费者,但标头信息在某处被覆盖。
@ServiceActivator(inputChannel = "fromKafka")
public void processMessage(Message<?> message) throws InterruptedException,
ExecutionException {
try {
System.out.println("Headers :" + message.getHeaders().toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
我得到以下标题:
Headers :{timestamp=1440013920609, id=f8c645f7-677b-ec32-dad0-a7b79082ef81}
我正在像这样在生产者端构造消息:
Message<FeelDBMessage> message = MessageBuilder
.withPayload(samplePayloadObj)
.setHeader(KafkaHeaders.MESSAGE_KEY, "key")
.setHeader(KafkaHeaders.TOPIC, "sampleTopic").build();
// publish the message
publisher.publishMessage(message);
以下是生产者的标头信息:
headers={timestamp=1440013914085, id=c4159c1c-2c67-634b-ef8d-3fb026b1172e, kafka_messageKey=key, kafka_topic=sampleTopic}
知道为什么标头会被不同的值覆盖吗?
【问题讨论】:
标签: spring spring-integration apache-kafka