如何从spring cloud stream app starter来源

时间:2017-11-29 06:28:52

标签: java spring spring-boot spring-cloud-stream

对于Twitter来源,如果我们使用@StreamListener以外的自定义kafka消费者(Sink),则会为每个kafka消息创建一个30位的标头。 @StreamListener将消息正确地发送到带注释的方法(无标题)。问题是每个源头的大小都有所不同。 那么我怎么能动态地理解消息的头大小,因为我使用的是自定义kafka消费者。 或者如何删除每封邮件的标题。?

更新: -

请在下面找到使用TCP源时在kafka-console-consumer中收到的消息。

�
  contentType"application/octet-stream"hello world

我只需要获取消息。在这种情况下,你好世界

3 个答案:

答案 0 :(得分:2)

您使用的是什么版本的Kafka?我之所以要问的是,启动0.11 Kafka支持本机标头,你不会再遇到这个问题了。

答案 1 :(得分:1)

在源中设置spring.cloud.stream.default.producer.headerMode=raw会在阅读消费者的消息时删除标题。

答案 2 :(得分:0)

也可以更改此设置以删除恼人的标题

spring.cloud.stream.default.producer.useNativeEncoding=true