• 用java写一个kafka的生产者,往topic里面添加数据


    当使用 Java 编写 Kafka 生产者,将数据发布到 Kafka 主题(topic)中时,您可以使用 Kafka 的 Java 客户端库来实现。以下是一个简单的示例代码,演示如何创建 Kafka 生产者并将数据发布到指定的主题:

    首先,您需要确保已经添加 Kafka 的 Java 客户端库(通常是 kafka-clients)到您的项目依赖中。

    接下来,是一个示例的 Java 代码:

    import org.apache.kafka.clients.producer.Producer;
    import org.apache.kafka.clients.producer.KafkaProducer;
    import org.apache.kafka.clients.producer.ProducerRecord;
    import java.util.Properties;

    public class KafkaProducerExample {
        public static void main(String[] args) {
            // Kafka 服务器地址和端口
            String bootstrapServers = "localhost:9092";
            // Kafka 主题名
            String topic = "my-topic";

            // 配置 Kafka 生产者属性
            Properties properties = new Properties();
            properties.setProperty("bootstrap.servers", bootstrapServers);
            properties.setProperty("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
            properties.setProperty("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");

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

            try {
                // 发送一些数据到 Kafka 主题
                for (int i = 0; i < 10; i++) {
                    String key = "key-" + i;
                    String value = "value-" + i;
                    ProducerRecord record = new ProducerRecord<>(topic, key, value);
                    producer.send(record);
                    System.out.println("Sent message: " + key + " - " + value);
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                // 关闭 Kafka 生产者
                producer.close();
            }
        }
    }

    在这个示例中,您需要根据您的 Kafka 配置设置适当的 bootstrapServerstopic。代码中的 Properties 配置是为 Kafka 生产者设置的,确保配置正确。

    请注意,此示例仅用于演示如何使用 Java Kafka 客户端库创建一个简单的 Kafka 生产者并发布数据到指定的主题。在实际应用中,您可能需要根据需要进行更多的配置和错误处理。

  • 相关阅读:
    service 详解
    Win11使用WSL2安装ubuntu,ubuntu桌面配置,ubuntu子系统删除
    java毕业设计园林公司OA系统Mybatis+系统+数据库+调试部署
    C语言之预处理,头文件
    ESP32网络开发实例-TCP服务器数据传输
    如何修改CentOS登录时默认目录
    【== 和 equals 的区别是什么?】
    Blazor前后端框架Known-V1.2.11
    重新认识下JVM级别的本地缓存框架Guava Cache(2)——深入解读其容量限制与数据淘汰策略
    shell脚本之免交互
  • 原文地址:https://blog.csdn.net/qq_33192454/article/details/132900041