对于Twitter来源,如果我们使用@StreamListener
以外的自定义kafka消费者(Sink),则会为每个kafka消息创建一个30位的标头。
@StreamListener
将消息正确地发送到带注释的方法(无标题)。问题是每个源头的大小都有所不同。
那么我怎么能动态地理解消息的头大小,因为我使用的是自定义kafka消费者。
或者如何删除每封邮件的标题。?
更新: -
请在下面找到使用TCP源时在kafka-console-consumer
中收到的消息。
�
contentType"application/octet-stream"hello world
我只需要获取消息。在这种情况下,你好世界
答案 0 :(得分:2)
您使用的是什么版本的Kafka?我之所以要问的是,启动0.11 Kafka支持本机标头,你不会再遇到这个问题了。
答案 1 :(得分:1)
在源中设置spring.cloud.stream.default.producer.headerMode=raw
会在阅读消费者的消息时删除标题。
答案 2 :(得分:0)
也可以更改此设置以删除恼人的标题
spring.cloud.stream.default.producer.useNativeEncoding=true