遵循 JsonSerdeExample 后我能够直接将主题中的数据消费到我的 Java 对象中。以下属性发挥了所有作用
spring.json.key.default.type: com.xxxx.datamapper.domain.FormUUID
spring.json.value.default.type: com.xxxx.datamapper.domain.FormData
但是,现在我想在单个 Spring Boot 应用程序中运行两个流监听器。为此,我需要为每个消费者绑定(bind)进行类似的配置。 spring cloud 支持这个吗?
到目前为止,对于第二个流,我必须使用字符串序列化器进行消费,然后使用对象映射器进行映射。这使得应用程序代码因不必要的转换而变得复杂。
最佳答案
该示例在绑定(bind)级别定义了 Serdes,您也可以在绑定(bind)级别设置它们
spring.cloud.stream.kafka.streams.bindings.foo.consumer.key-serde=
spring.cloud.stream.kafka.streams.bindings.foo.consumer.value-serde=
覆盖 Binder 级别的设置。
同样,您可以以相同的方式设置 Serdes 的属性。
spring.cloud.stream.kafka.streams.bindings.foo.consumer.configuration.spring.json...
您可以在绑定(bind)级别定义 Serde,也可以在绑定(bind)级别定义属性。
关于java - 支持为 Spring Cloud Stream 绑定(bind)中的每个消费者绑定(bind)定义 spring.json.key.type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61927106/