首页 > 解决方案 > @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”是否意味着我丢失了该消息?

标签: apache-kafkatransactionskafka-consumer-apikafka-transactions-api

解决方案


推荐阅读