我是Java新手并使用https://cwiki.apache.org/confluence/display/KAFKA/Consumer+Group+Example上的博客,试图开发一个嵌入式适配器,用于接收来自Kafka的流。 这是代码的一部分,它假定使用者是单线程的。
public void run() {
Map<String, Integer> topicCountMap = new HashMap<String, Integer>();
topicCountMap.put(topic, new Integer(getNumThreads()));
Map<String, List<KafkaStream<String, String>>> consumerMap = consumer.createMessageStreams(topicCountMap);
List<KafkaStream<String, String>> streams = consumerMap.get(topic);
executor = Executors.newFixedThreadPool(1);
final KafkaStream<String, String> stream = streams.get(0);
ConsumerIterator<String, String> it = stream.iterator();
while (it.hasNext()) {
// fill the tuple and output the tuple
fillAndOutputTuple();
}
我在Eclipse IDE上的it.hasNext()上收到此错误: 类文件Iterator包含签名&#39;(I)Lscala / collection / Iterator.GroupedIterator;&#39;第57位表现不佳
(奇怪的是,位置57不存在就像它给出错误一样。)
非常感谢任何帮助
答案 0 :(得分:2)
将Java代码与Scala编写的库(如Kafka)混合时,似乎会发生此错误。你可以验证scala-library-x.yz.jar(x.yz是你正在使用的Kafka构建所需的Scala版本)是否在eclipse项目的Build Path中?请参阅https://groups.google.com/forum/#!topic/liftweb/f0IAaqoWyu4