卡夫卡与骆驼卡夫卡生产者的交易

时间:2020-10-15 10:43:37

标签: spring apache-kafka apache-camel kafka-producer-api spring-camel

我正在使用Camel的Kafka Component在Spring-boot应用程序中向Kafka产生事件。如Camel文档中所述,它是通过标准URI格式配置的,它是一个 Producer 。我已将其设置为“幂等”生产者,以确保“准确地一次交货”并具有以下属性:

  enable-idempotence: true
  max-in-flight-request: 1
  request-required-acks: all
  retries: 100

我还想使用KafkaProducer Transactional 功能。当我在Camel Kafka URI上定义其他属性时:

additionalProperties.transactional.id=my-unique-transactional-id

我收到以下异常:

java.lang.IllegalStateException: Cannot perform a 'send' before completing a call to initTransactions when transactions are enabled.

使用标准的KafkaProducer Java API,应调用initTransactions()并开始交易。

如何使用camel-kafka组件实现这一目标?

0 个答案:

没有答案