【发布时间】:2018-03-29 15:28:54
【问题描述】:
尝试做类似的事情,但对我来说它不起作用。产品 json 字符串如何作为产品对象接收?
【问题讨论】:
标签: apache-kafka-streams spring-cloud-stream
尝试做类似的事情,但对我来说它不起作用。产品 json 字符串如何作为产品对象接收?
【问题讨论】:
标签: apache-kafka-streams spring-cloud-stream
默认情况下,入站 KStream 的反序列化由 Spring Cloud Stream 完成。使用的默认内容类型是application/json(相当于提供属性:spring.cloud.stream.bindings.input.contentType: application/json)。这就是正确转换产品 json 字符串的原因。
您可以禁用框架级别的转换并让 Kafka 执行此操作,在这种情况下您需要通过属性提供 Serdes。为了启用本机反序列化,您可以设置属性 - spring.cloud.stream.bindings.input.consumer.useNativeDecoding: true。然后您需要提供适当的 Serdes。有关所有这些的更多信息都在这里:https://docs.spring.io/spring-cloud-stream/docs/Elmhurst.BUILD-SNAPSHOT/reference/htmlsingle/#_message_conversion
【讨论】:
spring.cloud.stream.kafka.streams.bindings.....。感谢您指出了这一点。将在文档中修复它。