流程图

flowchart TD;
    A[开始]-->B(创建Kafka生产者);
    B-->C(发送消息);
    C-->D(创建Kafka消费者);
    D-->E(接收消息);
    E-->F(验证消息);
    F-->G(结束);

甘特图

gantt
    dateFormat  YYYY-MM-DD
    title Java测试Kafka任务甘特图

    section 创建Kafka生产者
    创建Producer  :2019-10-01, 2d
    配置Kafka连接信息 :2019-10-03, 1d

    section 发送消息
    发送消息到Kafka :2019-10-04, 1d

    section 创建Kafka消费者
    创建Consumer  :2019-10-05, 2d
    配置Kafka连接信息 :2019-10-07, 1d

    section 接收消息
    从Kafka接收消息  :2019-10-08, 2d

    section 验证消息
    验证接收到的消息  :2019-10-10, 2d

    section 结束
    完成任务  :2019-10-12, 1d

Java测试Kafka的步骤

步骤 说明
1. 创建Kafka生产者 创建一个Kafka生产者对象,并设置Kafka连接信息
2. 发送消息到Kafka 使用Kafka生产者对象发送消息到指定的Kafka主题
3. 创建Kafka消费者 创建一个Kafka消费者对象,并设置Kafka连接信息
4. 从Kafka接收消息 使用Kafka消费者对象从指定的Kafka主题接收消息
5. 验证接收到的消息 验证接收到的消息是否与发送的消息一致
6. 完成任务 结束测试任务

代码实现

1. 创建Kafka生产者

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.common.serialization.StringSerializer;

public class KafkaProducerExample {

    public static void main(String[] args) {
        // 设置Kafka连接信息
        String bootstrapServers = "localhost:9092";
        String topic = "test-topic";

        // 配置Kafka生产者
        Properties props = new Properties();
        props.put("bootstrap.servers", bootstrapServers);
        props.put("key.serializer", StringSerializer.class.getName());
        props.put("value.serializer", StringSerializer.class.getName());

        // 创建Kafka生产者
        Producer<String, String> producer = new KafkaProducer<>(props);

        // 发送消息到Kafka
        String message = "Hello, Kafka!";
        producer.send(new ProducerRecord<String, String>(topic, message));

        // 关闭Kafka生产者
        producer.close();
    }
}

2. 发送消息到Kafka

import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.common.serialization.StringSerializer;

public class KafkaProducerExample {

    public static void main(String[] args) {
        // 设置Kafka连接信息
        String bootstrapServers = "localhost:9092";
        String topic = "test-topic";

        // 配置Kafka生产者
        Properties props = new Properties();
        props.put("bootstrap.servers", bootstrapServers);
        props.put("key.serializer", StringSerializer.class.getName());
        props.put("value.serializer", StringSerializer.class.getName());

        // 创建Kafka生产者
        Producer<String, String> producer = new KafkaProducer<>(props);

        // 发送消息到Kafka
        String message = "Hello, Kafka!";
        producer.send(new ProducerRecord<String, String>(topic, message));

        // 关闭Kafka生产者
        producer.close();
    }
}

3. 创建Kafka消费者

import org.apache.kafka.clients.consumer.Consumer;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.common.serialization.StringDeserializer;

import java.time.Duration;
import java.util.Arrays;
import java.util.Properties;

public class KafkaConsumerExample {

    public static void main(String[] args) {
        // 设置Kafka连接信息
        String bootstrapServers = "localhost:9092";
        String topic = "test-topic";

        // 配置Kafka消费者
        Properties props = new Properties();
        props.put("bootstrap.servers", bootstrapServers);
        props.put("group.id", "test-group");
        props.put("key.deserializer", StringDeserializer.class.getName());
        props.put("value.deserializer", StringDeserializer.class.getName());

        // 创建Kafka消费者