更新时间:2024-08-06 GMT+08:00

Java开发环境搭建

基于收集连接信息的介绍,假设您已经获取了实例连接相关的信息,以及配置好客户端的网络环境。本章节以生产与发送消息的Demo为例,介绍Kafka客户端的环境配置。

开发环境

操作步骤

  1. 下载Demo包

    下载后解压,有如下文件:

    表1 Kafka Demo文件清单

    文件名

    路径

    说明

    DmsConsumer.java

    .\src\main\java\com\dms\consumer

    消费消息的API。

    DmsProducer.java

    .\src\main\java\com\dms\producer

    生产消息的API。

    dms.sdk.consumer.properties

    .\src\main\resources

    消费消息的配置信息。

    dms.sdk.producer.properties

    .\src\main\resources

    生产消息的配置信息。

    client.jks

    .\src\main\resources

    SSL证书,用于SASL_SSL方式连接。

    DmsConsumerTest.java

    .\src\test\java\com\dms\consumer

    消费消息的测试代码。

    DmsProducerTest.java

    .\src\test\java\com\dms\producer

    生产消息的测试代码。

    pom.xml

    .\

    maven配置文件,包含Kafka客户端引用。

  2. 打开IntelliJ IDEA,导入Demo。

    Demo是一个Maven构建的Java工程,因此需要配置JDK环境,以及IDEA的Maven插件。
    图1 选择“导入工程”
    图2 选择“Maven”
    图3 选择Java环境

    其他选项可默认或自主选择。然后单击Finish,完成Demo导入。

    导入后Demo工程如下:

  3. 配置Maven路径。

    打开“File > Settings”,找到“Maven home directory”信息项,选择正确的Maven路径,以及Maven所需的settings.xml文件。

  4. 修改Kafka配置信息。

    以生产消息为例,具体修改请参考生产消息配置文件

  5. 在IDEA工具的左下角,打开Terminal窗口,执行mvn test命令体验demo。

    图4 IDEA的Terminal窗口位置

    生产消息会得到以下回显信息:

    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    Running com.dms.producer.DmsProducerTest
    produce msg:The msg is 0
    produce msg:The msg is 1
    produce msg:The msg is 2
    produce msg:The msg is 3
    produce msg:The msg is 4
    produce msg:The msg is 5
    produce msg:The msg is 6
    produce msg:The msg is 7
    produce msg:The msg is 8
    produce msg:The msg is 9
    Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 138.877 sec

    消费消息会得到以下回显信息:

    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    Running com.dms.consumer.DmsConsumerTest
    the numbers of topic:0
    the numbers of topic:0
    the numbers of topic:6
    ConsumerRecord(topic = topic-0, partition = 2, offset = 0, CreateTime = 1557059377179, serialized key size = -1, serialized value size = 12, headers = RecordHeaders(headers = [], isReadOnly = false), key = null, value = The msg is 2)
    ConsumerRecord(topic = topic-0, partition = 2, offset = 1, CreateTime = 1557059377195, serialized key size = -1, serialized value size = 12, headers = RecordHeaders(headers = [], isReadOnly = false), key = null, value = The msg is 5)