支持为spring cloud流绑定中的每个消费者绑定定义spring.json.key.type。

问题描述 投票:0回答:1

在遵循 JsonSerdeExample 我能够直接从主题中消耗数据到我的Java对象中。以下属性发挥了所有的作用

 spring.json.key.default.type: com.xxxx.datamapper.domain.FormUUID
 spring.json.value.default.type: com.xxxx.datamapper.domain.FormData

然而,现在我想在一个spring boot应用程序中运行两个流监听器。为此,我需要为每个消费者绑定一个类似的配置。spring云是否支持这样做?

目前对于第二个流,我必须使用String序列化器进行消费,然后使用Object mapper进行映射。这样一来,应用代码就会出现不必要的转换而变得曲折。

java spring apache-kafka apache-kafka-streams spring-cloud-stream
1个回答
0
投票

该示例在binder级别定义了Serdes,你也可以在binding级别设置它们。

spring.cloud.stream.kafka.streams.bindings.foo.consumer.key-serde=
spring.cloud.stream.kafka.streams.bindings.foo.consumer.value-serde=

要覆盖粘结剂级别的设置。

同样,您也可以用同样的方式为Serdes设置属性。

spring.cloud.stream.kafka.streams.bindings.foo.consumer.configuration.spring.json...

您可以在粘合剂级别定义Serdes,也可以在绑定级别定义属性。

© www.soinside.com 2019 - 2024. All rights reserved.