spring云流-将serdes提供给单个消费者/生产者

pxq42qpu  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(326)

我试着给我的每一个消费者,而不是所有的消费者,设置单独的SERDE。例如,这会将avro反序列化程序添加到我的应用程序中的所有使用者。我只想要一个消费者

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的方向吗?

ki0zmccv

ki0zmccv1#

SERDE是在特定于流的绑定属性上指定的 ...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=...

此处文档:https://docs.spring.io/spring-cloud-stream-binder-kafka/docs/3.0.8.release/reference/html/spring-cloud-stream-binder-kafka.html#_kafka_streams_consumer_properties

相关问题