Java集成消息队列Kafka

1.Kafka maven坐标

在使用Maven构建Java项目时,你可以通过添加Kafka的Maven依赖来引入Kafka相关的库。下面是Kafka的Maven坐标:

复制代码
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.8.0</version>
</dependency>

将上述依赖坐标添加到你的项目的pom.xml文件中,即可下载并引入Kafka客户端库。请注意,版本号可能会有所不同,你可以根据自己的需求选择最合适的版本。

另外,如果你还需要使用Kafka Streams或Kafka Connect等其他Kafka组件,可以根据需要添加相应的依赖。你可以在Maven仓库中查找并获取更多关于Kafka的Maven坐标信息。

2.示例测试代码如下:

复制代码
import org.apache.kafka.clients.producer.*;
import java.util.Properties;

public class KafkaProducerTest {

    public static void main(String[] args) {
        String topicName = "my-topic";
        String message = "Hello, Kafka!";
        // 设置Kafka生产者所需的配置属性
        Properties properties = new Properties();
        properties.put("bootstrap.servers", "localhost:9092");
        properties.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
        properties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
        // 创建Kafka生产者实例
        KafkaProducer<String, String> producer = new KafkaProducer<>(properties);

        // 创建待发送的消息记录
        ProducerRecord<String, String> record = new ProducerRecord<>(topicName, message);
        try {
            // 发送消息并处理发送结果
            RecordMetadata metadata = producer.send(record).get();
            System.out.println("Message sent to partition " + metadata.partition() +
                    ", offset " + metadata.offset());
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭Kafka生产者
            producer.close();
        }
    }
}
相关推荐
缓慢更新15 小时前
审批的加签与会签:多人意见怎么合
android·java·数据库·低代码·rxjava
yuniko-n16 小时前
【JUC】volatile 非原子性深入解析
java
sun_weitao17 小时前
极简版 MCP 工具实现方案
java·linux·服务器
金銀銅鐵18 小时前
[Java] 展示增删元素时 LinkedList 的内部变化
java·后端·ai编程
布吉岛的石头18 小时前
Java 程序员第 50 阶段3:数据工程:预训练语料清洗与去重
java·开发语言·人工智能·深度学习·transformer
大文说跨境19 小时前
防关联浏览器的指纹覆盖到什么程度:六类参数的实测与自检方法
java·指纹浏览器·tiktok运营
Carol063019 小时前
上肢及肩肘关节
java·服务器·数据库
yliucherish19 小时前
Log4Shell 复现实录:我读 OpenJDK 源码,发现两道防线的默认值竟然相反
java
维拉德19 小时前
Java新人第一次接打标需求:从抓包找接口到客户端展示
java
luobobo89619 小时前
支付回调验签连续失败三天,最后发现是网关的时间戳单位问题
java