【问题标题】:Spring Cloud Stream - Give Serdes to Individual Consumers/ProducersSpring Cloud Stream - 将 Serdes 提供给个人消费者/生产者
【发布时间】:2020-10-28 02:28:34
【问题描述】:

我试图将单独的 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 的方向?

【问题讨论】:

    标签: java spring apache-kafka deserialization spring-cloud-stream


    【解决方案1】:

    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=...
    

    这里的文档: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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 2016-06-21
      • 2017-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多