Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当AutoCommitteable为false时,为什么camel kafka使用者进入java.util.concurrent.BrokenBarrierException?_Java_Apache Camel_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

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

当AutoCommitteable为false时,为什么camel kafka使用者进入java.util.concurrent.BrokenBarrierException?,java,apache-camel,apache-kafka,kafka-consumer-api,Java,Apache Camel,Apache Kafka,Kafka Consumer Api,我有两个java代码来使用来自kafka的消息 使用高级消费API camel-kafka“from(endpoint)”语法 当我在camel kafka中禁用自动提交时,它会运行到java.util.concurrent.BrokenBarrierException,为什么它会在获取下一批之前强制提交使用者偏移量?因为它不会发生在高级API实现中 异常跟踪是: ERROR - KafkaConsumer - java.util.concurrent.BrokenB

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

  • 使用高级消费API
  • camel-kafka“from(endpoint)”语法
  • 当我在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 broker的所有消息。是否有任何配置参数需要传入终结点?

    顺便说一句,它发生在从kafka broker消费了整整100条消息之后。您使用的是什么版本的Camel和kafka broker?Camel:2.15.2和kafka 0.8.2.1,还需要注意,当我提供“自动提交”时也会发生这种情况端点中的param在'true/false'值上具有相同的行为。我注意到了相同的问题。撇开这个问题不谈,为什么你们永远不想提交偏移量呢?我正在对我的消费者API进行负载测试,并且还想在消息被处理并写入数据库后手动提交偏移量。因此,即使我消费也不应该被阻止。顺便说一句,这是在消费了来自kafka broker的100条消息之后发生的。您使用的是什么版本的Camel和kafka broker?Camel:2.15.2和kafka 0.8.2.1,还需要注意的是,当我提供“自动提交”时也会发生这种情况端点中的param在'true/false'值上具有相同的行为。我注意到了相同的问题。撇开这个问题不谈,为什么你们永远不想提交偏移量呢?我正在对我的消费者API进行负载测试,并且还想在消息被处理并写入数据库后手动提交偏移量。所以不应该被阻止,即使我消费和不提交。