spring-kafka - Spring Cloud Kafka Streams 基于 Header 信息的动态消息转换
问题描述
我正在尝试使用 Spring Cloud Kafka Streams 处理来自包含不同类型消息的 Kafka 主题的消息。例如,我们从主题收到一条 JSON 消息,它可以是 A 类消息,也可以是 B 类消息。生产者在标头中添加消息类型,有没有办法在功能绑定器中读取该标头信息并相应地转换消息?或者还有一个“选择”选项,用于在消息进入时进行分支,将消息路由到正确的转换器?
解决方案
如果将绑定配置为 use nativeDecoding
,则反序列化由 Kafka 完成(通过value.deserializer
consumer 属性)。
spring-kafka 提供了一个JsonDeserializer
在特定头文件中查找类型信息(由相应的JsonSerializer
.
它还提供了一个DelegatingDeserializer
允许您根据spring.kafka.serialization.selector
标头中的值选择要使用的解串器。
有关更多信息,请参阅Spring for Apache Kafka 参考手册。
推荐阅读
- android - 文件输入在 react-native 中的 webview 中不起作用
- javascript - 从 document.getElementById .setAttribute href 获取不同的 url
- android - 循环完成后启动onActivityResult
- r - 根据r中的多个条件创建列
- reactjs - 反应渲染堆内存问题?
- kotlin - 如何将对象(带值)转换为地图
- python - 无法遍历列表-pyPDF2
- c++ - DirectX:空样本编译错误
- python - 如何根据 Selenium 和 Python 提供的 html 从嵌套 div 中提取文本 154
- regex - 在正则表达式中指定下一行