Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
使用java Kafka客户端的测试中出现间歇性异常_Java_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

使用java Kafka客户端的测试中出现间歇性异常

使用java Kafka客户端的测试中出现间歇性异常,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,我正在测试两个类,它们打算使用官方Java客户端和嵌入式服务器从Kafka(v0.10.1)日志中写入和读取。在实例化一个使用者时,我会得到以下间歇性异常跟踪: org.apache.kafka.common.KafkaException: Failed to construct kafka consumer at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:702)

我正在测试两个类,它们打算使用官方Java客户端和嵌入式服务器从Kafka(v0.10.1)日志中写入和读取。在实例化一个使用者时,我会得到以下间歇性异常跟踪:

org.apache.kafka.common.KafkaException: Failed to construct kafka consumer
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:702)
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:557)
    at cakesolutions.kafka.KafkaConsumer$.apply(KafkaConsumer.scala:128)
    at com.jobandtalent.kafka.client.KafkaTopic.com$jobandtalent$kafka$client$KafkaTopic$$buildConsumer$1(KafkaTopic.scala:37)
    at com.jobandtalent.kafka.client.KafkaTopic$$anonfun$initialize$1$1.apply(KafkaTopic.scala:30)
    at com.jobandtalent.kafka.client.KafkaTopic$$anonfun$initialize$1$1.apply(KafkaTopic.scala:29)
    at fs2.Task$$anonfun$delay$1.apply(Task.scala:187)
    at fs2.Task$$anonfun$delay$1.apply(Task.scala:187)
    at fs2.Task$$anonfun$suspend$1$$anonfun$2.apply(Task.scala:195)
    at fs2.Task$$anonfun$suspend$1$$anonfun$2.apply(Task.scala:195)
    at fs2.util.Attempt$.apply(Attempt.scala:12)
    at fs2.Task$$anonfun$suspend$1.apply(Task.scala:195)
    at fs2.Task$$anonfun$suspend$1.apply(Task.scala:195)
    at fs2.internal.Future.step(Future.scala:54)
    at fs2.internal.Future.listen(Future.scala:30)
    at fs2.internal.Future.runAsync(Future.scala:69)
    at fs2.Task.unsafeRunAsync(Task.scala:96)
    at fs2.Task$Ref$$anonfun$set$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(Task.scala:332)
    at fs2.Strategy$$anon$3$$anon$4.run(Strategy.scala:54)
    at scala.concurrent.impl.ExecutionContextImpl$AdaptedForkJoinTask.exec(ExecutionContextImpl.scala:121)
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.lang.ClassCastException: class org.apache.kafka.clients.consumer.RangeAssignor
    at java.lang.Class.asSubclass(Class.java:3404)
    at org.apache.kafka.common.utils.Utils.newInstance(Utils.java:332)
    at org.apache.kafka.common.config.AbstractConfig.getConfiguredInstances(AbstractConfig.java:225)
    at org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:637)
    ... 23 more

这是怎么发生的?

我不知道异常的根本原因,但在实例化Kafka客户端之前,我通过手动设置上下文类加载器修复了它

Thread.currentThread().setContextClassLoader(...any class from the Kafka jar...)

你能发布完整的代码吗?一定是类冲突。也许嵌入式服务器引入了一些遗留类。如何从kafka jar加载任何类?
Thread.currentThread().setContextClassLoader(...any class from the Kafka jar...)