我正在尝试使用Spring Cloud Kafka Streams处理包含不同类型消息的Kafka主题消息。例如,我们从主题接收到JSON消息,该消息可以是Type A或Type B消息。生产者在标头中添加消息类型,是否有办法在功能绑定器中读取标头信息并相应地转换消息?还是在消息进入时进行分支的“选择”选项,以将消息路由到正确的转换器?
如果将绑定配置为使用nativeDecoding
,则反序列化由Kafka完成(通过value.deserializer
使用者属性)。
spring-kafka提供了一个JsonDeserializer
,它在特定的报头中查找类型信息(由相应的JsonSerializer
设置。
它还提供了DelegatingDeserializer
,可让您根据spring.kafka.serialization.selector
标头中的值选择要使用的解串器。
请参见the Spring for Apache Kafka Reference Manual以获取更多信息。