执行报错

来源:4-9 -Kafka Producer Java API编程

weixin_慕哥1181079

2019-11-18

执行KafkaClientApp 类时报错
图片描述
错误定位的37,21是这一行:

	producer.send(new KeyedMessage<Integer, String>(topic, message));
写回答

2回答

Michael_PK

2019-11-18

你的produce代码贴下看看

0
1
weixin_慕哥1181079
PK哥 produce代码我贴到回复里了
2019-11-18
共1条回复

weixin_慕哥1181079

提问者

2019-11-18

package com.imooc.spark.kafka;

import kafka.javaapi.producer.Producer;
import kafka.producer.KeyedMessage;
import kafka.producer.ProducerConfig;

import java.util.Properties;

/**
 * Kafka 生产者
 */
public class KafkaProducer extends Thread {

    private String topic;

    private Producer<Integer, String> producer;

    public KafkaProducer(String topic) {
        this.topic = topic;

        Properties properties = new Properties();

        properties.put("metadata.broker.list",KafkaProperties.BROKER_LIST);
        properties.put("serializer.class","kafka.serializer.StringEncoder");
        properties.put("request.required.acks","1");

        producer = new Producer<Integer, String>(new ProducerConfig(properties));
    }

    @Override
    public void run() {

        int messageNo = 1;

        while(true) {
            String message = "message_" + messageNo;
            producer.send(new KeyedMessage<Integer, String>(topic, message));
            System.out.println("Sent: " + message);

            messageNo ++ ;

            try{
                Thread.sleep(2000);
            } catch (Exception e){
                e.printStackTrace();
            }
        }
    }
}


0
7
Michael_PK
回复
weixin_慕哥1181079
恩,以后要学会根据日志信息来分析
2019-11-19
共7条回复

Spark Streaming实时流处理项目实战

Flume+Kafka+Spark Streaming 构建通用实时流处理平台

1404 学习 · 571 问题

查看课程