プロジェクトに Kafka モジュールを含めようとしています。
次の jar を eclipse の外部 jar ライブラリとして追加し、build.xml を更新して jar への参照を含めました。
- kafka-clients-0.8.2.0.jar
- kafka_2.10-0.8.2.0.jar
- scala-library-2.10.4.jar
サンプル Producer クラスを作成しました
public class KafkaWriteRequestProducer extends Thread
{
private final String topic;
private final KafkaProducer<Integer, byte[]> producer;
private final WriteRequest writeRequest;
public KafkaWriteRequestProducer(String topic, WriteRequest writeRequest)
{
this.topic = topic;
this.writeRequest = writeRequest;
//Initialize the config for Kafka Producer
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("client.id", "KafkaProducer");
props.put("key.serialzer", "org.apache.kafka.common.serialization.IntegerSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.ByteArraySerializer");
producer = new KafkaProducer<Integer, byte[]>(props);
}
}
このプロジェクトを開始する前に、Zookeeper と Kafka ブローカーが実行されていることを確認しました。ただし、NoClassDefFoundError()
インスタンス化しようとしているときに表示されますnew KafkaProducer()
。
明らかな何かが欠けていますか?