apache-kafka - @transactional 如何在 Kafka Consumer 中工作
问题描述
我在我的 Kafka 消费者中使用 @trasactional。在同样的方法中(用@transactional 标记),我正在做一些数据库事务。在数据库事务失败的情况下,我的消费者尝试使用消息 10 次,然后抛出“Backoff FixedBackOff {interval=0, currentAttempts=10, maxAttempts=9} 为 consumerDetails 耗尽”异常。
@Transactional
@KafkaListener(topics = "xyz")
public void consume(final ConsumerDetails consumerDetail) {
System.out.println("received key: [" + consumerDetail.key() + "] and value: [" + consumerDetail.value() + "]"); System.out.println(
"consumer processing done");
throw new RuntimeException();
}
有没有什么办法可以在修复数据库问题后让我的消费者使用来自 Kafka 主题的相同消息?或者这个异常“Backoff FixedBackOff”是否意味着我丢失了该消息?
解决方案
推荐阅读
- c# - 需要在 c# 中使用 Stomp 连接到 Websocket
- postgresql - 在 PostgreSQL 过程中的 CTE 之后运行 FOREACH?
- c# - 如何使用 iText7 防止 Pdf 文件中的交互字段变平
- png - Deepstream 姿态估计无法检测到任何骨架
- android - 实时数据中的 Observables 更新在片段中不起作用
- azure - 天蓝色数据工厂中基于事件的触发器
- powershell - 在 Windows Server 2012 R2 上运行 Shell 脚本并在另一个 VM 上获取 Toast 通知
- c - 这个没有 libc 的 C 程序如何工作?
- bootstrap-vue - 如何为 bootstrap-vue 动态设置 scss 变量 $body-bg 和 $body-color?
- javascript - 需要使用 Highchart.js 库的金字塔图