java - Spring Cloud Stream - 将 Serdes 提供给个人消费者/生产者
问题描述
我试图将单独的 Serdes 放在我的每个消费者身上,而不是全部。例如,这会将 Avro Deserializer 添加到我的应用程序中的所有消费者。我只想要一个消费者
spring.cloud.stream.kafka.binder.consumerProperties.value.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer
如果我做这样的事情,它会起作用
spring.cloud.stream.bindings.scheduler-in-from-external-event.content-type=application/*+avro
但似乎没有办法为单个消费者/生产者指定 Serde,即
spring.cloud.stream.kafka.binder.scheduler-in-from-external-event.consumer.configuration.key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.cloud.stream.kafka.binder.scheduler-in-from-external-event.consumer.configuration.value.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer
这不起作用我是否缺少依赖项,或者有人可以指出我在我的属性文件中为单个生产者/消费者指定一个 serde 的方向吗?
解决方案
Serdes 是在特定于流的绑定属性上指定的...kafka.streams.bindings...
。
利用
spring.cloud.stream.kafka.streams.bindings.scheduler-in-from-external-event.consumer.key-serde=...
spring.cloud.stream.kafka.streams.bindings.scheduler-in-from-external-event.consumer.value-serde=...
推荐阅读
- javascript - 等效的 JavaScript 语法
- r - R 脚本可以嵌入到 Tableau 中以生成数据集吗?
- python - 使用pygame从列表中选择随机图像
- r - 如何计算两个给定日期之间的月数(基线和后续)
- android - 我可以在 Visual Studio Code 中编译 Android Studio 项目吗?
- excel - 如果其中的列包含指定值(新工作表中的另一列),如何将行复制到另一个 Excel 工作表?
- php - 更改 Laravel 中的默认身份验证保护名称
- c# - 如何获取 Q# 操作参数的类型?
- html - CSS 图像掩码未显示在边缘,但在 Firefox 和 Chrome 中运行良好
- algorithm - 具有收敛级数的 Max-heapify