Я использую Spring Cloud Stream 1.3.2.RELEASE , чтобы опубликовать строковое сообщение для Кафки. Когда я принимаю сообщение с помощью командной строки Kafka consumer или Spring Kafka @KafkaListener
, заголовок contentType всегда добавляется к телу сообщения.
Вопрос
Есть ли способ избавиться от встроенных заголовков?
-
Spring Cloud Stream от производителя
private void send() {
channel.test().send(MessageBuilder.withPayload("{\"foo\":\"bar\"}").build());
}
Командная строка Кафка потребителя
$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
�
contentType
"text/plain"{"foo":"bar"}
Пружина Кафка как потребительская
@KafkaListener(topics = "test")
public void receive(Message message){
log.info("Message payload received: {}", message.getPayload());
}
2018-05-16 07:12:05.241 INFO 19475 --- [ntainer#0-0-C-1] com.demo.service.Listener : Message payload received: �contentType"text/plain"{"foo":"bar"}
@KafkaListener(topics = "test")
public void receive(@Payload String message){
log.info("Message payload received: {}", message);
}
2018-05-16 07:16:14.313 INFO 19747 --- [ntainer#0-0-C-1] com.demo.service.Listener : Message payload received: �contentType"text/plain"{"foo":"bar"}