2017-03-07 67 views
0

我正在使用春季雲流kafka活頁夾來消費來自kafka主題的消息。源系統以ascii發送json消息。當我傾聽消費者的話題,它拋出是什麼屬性接受二進制json消息在春季雲流kafka聯編程序

o.s.c.s.b.k.KafkaMessageChannelBinder : Could not convert message: 7B22736.. 

有沒有我可以在我的.yml文件中設置反序列化的任何財產?還是有一個我可以研究的例子?

+0

@ ka2我看到你的評論[鏈接](http://stackoverflow.com/questions/38548384/kafka-source-in-spring-cloud-data-flow)你有沒有找到你的問題的解決方案? –

回答

0

我不確定您的意思是json in hexadecimal-binary data如果您的意思是byte[]中的ascii數據,請嘗試添加spring.cloud.stream.bindings.input.content-type=text/plain(或application/json)。

+0

編輯我的問題,當我使用content-type:application/json時引發錯誤。 –

+0

你嘗試過文本/純文本嗎?或者你可以將'spring.kafka.consumer.valueDerserializer'設置爲'org.apache.kafka.common.serialization.StringDeserializer'。 –

+0

當我使用文本/純文本時,它能夠轉換爲json,但是在控制檯中仍然會引發相同的錯誤。我無法在我使用的spring雲流kafka活頁夾中找到spring.kafka.consumer.valueDerserializer屬性。 –

0

你可以看看這裏的配置屬性: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消費者屬性並以這種方式傳遞它們。

0

當我添加content-type:plain/textspring.cloud.stream.bindings.<subscriptionChannel>.consumer.‌​headerMode:raw它工作。

謝謝!