在 Kafka Consumer v0.10.0.1 中获取 NoSuchMethodError

Getting NoSuchMethodError in Kafka Consumer v0.10.0.1

我正在尝试从 0.9.0.0 迁移到 KafkaClient 0.10.0.1。该代码在 0.9.0.0 的生产中运行良好。现在,当消费者启动并出现以下异常时,开发平台中的相同代码会抛出异常 javax.servlet.ServletException: java.lang.NoSuchMethodError: org/apache/kafka/clients/consumer/KafkaConsumer.subscribe(Ljava/util/List;)V(从文件加载:/home/vcap/app/wlp/usr/shared/config/lib/global/kafka-clients-0.10.0.1.jar by com.ibm.ws.classloading.internal.AppClassLoader@7a0d5027) 从 class com.ibm.b2b.msghub.helper.AbstractB2BConsumer 调用(从文件:/home/vcap/app/wlp/usr/shared/config/lib/global/B2BBlueMixLib-1.0.jar 由 com.ibm.ws.classloading.internal.AppClassLoader@7a0d5027 加载) .

马杜

客户端 API 在 Kafka 0.9 和 0.10 之间略有变化。

KafkaConsumer.subscribe() 的定义已更改。第一个参数现在是 Collection 类型而不是 List。

这样做是为了使 API 更加一致,因为现在大多数(所有?)调用都采用 Collection 对象,而之前它是多种类型的混合。