当autoCommitEnable为false时,为什么camel-kafka使用者会进入java.util.concurrent.BrokenBarrierException?

时间:2015-09-28 07:50:42

标签: java apache-camel apache-kafka kafka-consumer-api

我有两个java代码来使用来自kafka的消息。

  1. 使用高级消费者API
  2. 来自(端点)'syntax 的
  3. camel-kafka'

    当我在camel-kafka中禁用自动提交时,它会遇到java.util.concurrent.BrokenBarrierException,为什么在获取下一批之前强制提交消费者偏移?在高级API实现中不会发生这种情况。

    异常跟踪是:

    ERROR - KafkaConsumer              - 
    java.util.concurrent.BrokenBarrierException
        at java.util.concurrent.CyclicBarrier.dowait(CyclicBarrier.java:200)
        at java.util.concurrent.CyclicBarrier.await(CyclicBarrier.java:427)
        at org.apache.camel.component.kafka.KafkaConsumer$BatchingConsumerTask.run(KafkaConsumer.java:165)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
    

    我只想读取来自kafka代理的所有消息而不提交偏移量。是否需要在端点中传递配置参数?

0 个答案:

没有答案