spring-boot - 如何将自定义标题添加到 DLQ 主题记录?
问题描述
应用程序从一个主题 A 中读取记录,进行次要转换并放入主题 B。如果在将传入的记录数据反序列化为类型 A 期间验证失败,则将消息发送到 DLQ。
@Bean
public Function<KStream<String, RawEvent>, KStream<String, FormattedEvent>> process() {
return input -> input.map((key, event) -> {
return new KeyValue<>(event.getAttribute().get("id"), new FormattedEvent(event));
});
}
以下在 application.yml 中正确设置
spring.cloud.stream.kafka.streams.binder.deserialization-exception-handler: sendToDlq
spring.cloud.stream.kafka.streams.bindings.process-in-0.consumer.dlqName: ${DLQ_TOPIC}
我必须能够为在反序列化传入消息以键入失败后出现的 DLQ 主题记录添加一些自定义标头RawEvent
解决方案
推荐阅读
- node.js - 如何在 azure devops 连续构建中设置 git 凭据
- swift - Swift - 不同表格视图单元格的通用模型
- java - 我得到一个 NullPointerException,但我不知道错误在哪里
- firebase - flutter firebase 版本解决失败
- python - Buildozer - 使用 buildozer 构建 apk 时出错
- algorithm - 二叉树中的顺序后继和前继是什么?
- python - 如何在 python 中将两个列表与 dict 中的特定键进行比较
- python - pytest.config.getoption 替代方案失败
- mysql - 在 MySQL 中的大表上创建复合主键的最佳方法
- excel - 基于另一个源(excel电子表格)在Excel中添加新记录的简单方法