我正在使用春季雲流kafka活頁夾來消費來自kafka主題的消息。源系統以ascii發送json消息。當我傾聽消費者的話題,它拋出是什麼屬性接受二進制json消息在春季雲流kafka聯編程序
o.s.c.s.b.k.KafkaMessageChannelBinder : Could not convert message: 7B22736..
有沒有我可以在我的.yml文件中設置反序列化的任何財產?還是有一個我可以研究的例子?
我正在使用春季雲流kafka活頁夾來消費來自kafka主題的消息。源系統以ascii發送json消息。當我傾聽消費者的話題,它拋出是什麼屬性接受二進制json消息在春季雲流kafka聯編程序
o.s.c.s.b.k.KafkaMessageChannelBinder : Could not convert message: 7B22736..
有沒有我可以在我的.yml文件中設置反序列化的任何財產?還是有一個我可以研究的例子?
我不確定您的意思是json in hexadecimal-binary data
如果您的意思是byte[]
中的ascii數據,請嘗試添加spring.cloud.stream.bindings.input.content-type=text/plain
(或application/json
)。
編輯我的問題,當我使用content-type:application/json時引發錯誤。 –
你嘗試過文本/純文本嗎?或者你可以將'spring.kafka.consumer.valueDerserializer'設置爲'org.apache.kafka.common.serialization.StringDeserializer'。 –
當我使用文本/純文本時,它能夠轉換爲json,但是在控制檯中仍然會引發相同的錯誤。我無法在我使用的spring雲流kafka活頁夾中找到spring.kafka.consumer.valueDerserializer屬性。 –
你可以看看這裏的配置屬性:http://docs.spring.io/spring-cloud-stream/docs/Brooklyn.SR2/reference/htmlsingle/#_kafka_consumer_properties
在你的情況,你可以通過執行以下操作設置此:
spring.cloud.stream.kafka.bindings.<channelName>.consumer.configuration.value.deserializer=<Deserialzier class>
卡夫卡粘合劑從配置地圖需要的所有屬性。因此,您可以使用任何通用Kafka消費者屬性並以這種方式傳遞它們。
當我添加content-type:plain/text
和spring.cloud.stream.bindings.<subscriptionChannel>.consumer.headerMode:raw
它工作。
謝謝!
@ ka2我看到你的評論[鏈接](http://stackoverflow.com/questions/38548384/kafka-source-in-spring-cloud-data-flow)你有沒有找到你的問題的解決方案? –