【问题标题】:Compiling a custom producer for Kafka为 Kafka 编译自定义生产者
【发布时间】:2015-10-03 14:58:24
【问题描述】:

我已经从https://www.apache.org/dyn/closer.cgi?path=/kafka/0.8.1.1/kafka_2.8.0-0.8.1.1.tgz 下载了 Kafka,并使用虚拟机在我的机器上设置了一个 kafka 集群。集群工作正常 - 它使用 kafka 包提供的控制台生产者和消费者进行了测试。

现在,我已经为 Kafka 实现了一个自定义 Producer 类。但我不知道如何编译这个类以及依赖项是什么。

问题

  • 有人能解释一下我需要如何获取生产者的依赖项、构建类并运行它吗?

  • 我需要 sbt 来构建它吗?我找不到任何在线资源清楚地解释了如何构建自定义 kafka 生产者类。

以下是Producer类中导入的包:

org.apache.kafka.clients.producer.Callback;
org.apache.kafka.clients.producer.KafkaProducer;
org.apache.kafka.clients.producer.ProducerConfig;
org.apache.kafka.clients.producer.ProducerRecord;
org.apache.kafka.clients.producer.RecordMetadata;
org.apache.kafka.common.record.Records

提前致谢

【问题讨论】:

    标签: java build sbt apache-kafka


    【解决方案1】:

    我开发了一个自定义的Kafka生产者,作为一个Maven项目,我使用的依赖是:

    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>0.8.2.0</version>
    </dependency>
    

    我使用的进口产品:

    import org.apache.kafka.clients.producer.KafkaProducer;
    import org.apache.kafka.clients.producer.ProducerConfig;
    import org.apache.kafka.clients.producer.ProducerRecord;
    import org.apache.kafka.common.serialization.ByteArraySerializer;
    import org.apache.kafka.common.serialization.StringSerializer;
    

    我的生产者消息发送代码的sn-p:

    Properties props = new Properties();
    props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, zkConnection);
    props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
    props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, ByteArraySerializer.class);
    
    byte[] byteData = null;
    File myInputFile = new File(...);
    try (InputStream inputStream = new FileInputStream(myInputFile)) {
        byteData = IOUtils.toByteArray(inputStream);
    }
    
    try (KafkaProducer<String, byte[]> producer = new KafkaProducer<String, byte[]>(props)) {
        producer.send(new ProducerRecord<String, byte[]>(topic, byteData));
    }
    

    【讨论】:

      猜你喜欢
      • 2019-12-10
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多