Spring integration 如何将ApacheKafka与SpringMVC结合使用?可能吗?

Spring integration 如何将ApacheKafka与SpringMVC结合使用?可能吗?,spring-integration,apache-kafka,confluence-rest-api,Spring Integration,Apache Kafka,Confluence Rest Api,我是ApacheKafka的初学者,正在尝试学习confluent-kafka-rest-utils,但是我对如何使用它感到困惑 在搜索过程中,我找到了这个文档 这是一个非常好的文档,但它不能帮助我学习rest UTIL 合流kafka rest utils的git代码为 演示如何使用rest-kafka。但我想知道确切的程序,以便更清楚地了解它。有一些简单的解释。有人能给我推荐一些关于如何使用rest客户端的链接吗。请引导我朝这个方向走 这可能是一个愚蠢的问题,但我没有其他选择去学习 提前谢谢

我是ApacheKafka的初学者,正在尝试学习confluent-kafka-rest-utils,但是我对如何使用它感到困惑

在搜索过程中,我找到了这个文档

这是一个非常好的文档,但它不能帮助我学习rest UTIL

合流kafka rest utils的git代码为

演示如何使用rest-kafka。但我想知道确切的程序,以便更清楚地了解它。有一些简单的解释。有人能给我推荐一些关于如何使用rest客户端的链接吗。请引导我朝这个方向走

这可能是一个愚蠢的问题,但我没有其他选择去学习

提前谢谢。

先把卡夫卡的东西放在一边

一旦您能够运行“hello world”类型的REST服务,然后选择Kafka文档

请参阅有关如何创建kafka群集以及运行默认控制台使用者和生产者程序以检查群集的文档

现在,编写一个主java程序,并使用创建一个卡夫卡制作者。参考其文档。确保通过主程序发送的消息到达消费者

现在,将这个主程序的内容注入rest服务,这样在请求体中传递的消息现在就被传递到kafka集群,并且消费者可以读取


希望有帮助。

首先,创建一个
属性.java
来设置配置,并确保将其标记为
@Component

 private static final String TOPIC = "Kafka_Example";

public Properties settingProperties() {
    Properties props = new Properties();
    props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
    props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
    props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class);
    props.put("topic",TOPIC);
    return props;
}

public Property() {
}

public void sendMessage(String msg) {

    KafkaProducer<String, String> producer =
            new KafkaProducer<String, String>(settingProperties());

    ProducerRecord<String, String> record =
            new ProducerRecord<String, String>(settingProperties().getProperty("topic"),
            msg);
    producer.send(record);

    producer.close();

}
现在,你终于可以制定自己的方法了

@GetMapping("/publish/{name}")
public String post(@PathVariable("name") final String name) {

    property.sendMessage(name);

    return "Published successfully";
}
  • 确保您的
    主题
    名称在我的案例中是正确的它的
    Kafka\u示例
以下是您必须运行的命令来设置内容

  • 终端1-运行Zookerper:bin/zookeeper-server-start.sh config/zookeeper.properties
  • 终端2-要运行卡夫卡服务器:bin/Kafka-Server-start.sh config/Server.properties
  • 终端3-创建主题:bin/kafka-topics.sh--create--zookeer localhost:2181--replication factor 1--partitions 1--TOPIC
    您的主题名称
  • 终端3-通过控制台消费:bin/kafka-Console-consumer.sh--引导服务器本地主机:9092--主题
    您的主题名称
    --从头开始
现在,您可以开始了
http://localhost:8080/api/publish/

我的Pom依赖项

    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>2.5.0</version>
    </dependency>

org.apache.kafka


如果你觉得有用,就竖起大拇指。谢谢你宝贵的时间。如果您有任何疑问,请在下面留言。

我真的不明白。你想不想使用Spring集成?是的,我想使用Spring集成。我会试试这个。谢谢你的评论。是的,两年前我用卡夫卡制作人API 0.8.2试用过
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka-clients</artifactId>
        <version>2.5.0</version>
    </dependency>