📜  弹簧靴 |如何在 Apache Kafka 上发布字符串消息

📅  最后修改于: 2021-10-28 02:15:59             🧑  作者: Mango

Apache Kafka 是一个发布订阅消息系统。消息队列允许您在进程、应用程序和服务器之间发送消息。在本文中,我们将看到如何在 Spring Boot 应用程序中向 Apache Kafka 发送字符串消息。

为了学习如何创建一个spring boot项目,可以参考这篇文章。

该字符串是一个字符序列。在Java, String 的对象是不可变的,这意味着一个常量,一旦创建就不能更改。而且, Java允许显式类型转换,其中一种类型的变量可以强制转换为另一种类型。例如,如果字符串仅由数字组成并且需要用于某些计算,则可以将相同的字符串消息进一步转换为 int 或 float。可以按照以下步骤将字符串消息发布到 Apache Kafka:

  1. 转到 spring initializr 并创建一个具有以下依赖项的入门项目:
    • 春网
    • Apache Kafka 的 Spring
  2. 在 IDE 中打开项目并同步依赖项。现在创建一个带有注解@RestController的新类Controller 。此类处理所有 RESTful 路由。
  3. 在这一类中,创建一个GET API,并以如下参数初始化字符串KafkaTemplate。下面是该类的实现:
    // Java program to implement the
    // controller for the spring
    // application
      
    @RestController
    @RequestMapping("/kafka")
    public class Controller {
      
        @Autowired
        KafkaTemplate
            kafkaTemplate;
      
        static final String TOPIC = "gfg";
      
        // Implementing a GET method
        @GetMapping("publish/{message}")
        public String publish_message(
            @PathVariable("message") String message)
        {
            kafkaTemplate.send(TOPIC, message);
            return "Message Published on Kafka !";
        }
    }
    
  4. 启动 zookeeper 和 Kafka 服务器。现在我们需要创建一个名为gfg的新主题。为此,请打开一个新的命令提示符窗口并将目录更改为 Kafka 目录。
  5. 现在使用下面给出的命令创建一个新主题:
  6. 现在要实时查看 Kafka 服务器上的消息,请使用以下命令:
  7. 运行应用程序并将 API 调用为:

    注意:如果使用了不同的端口,则将该端口替换为 8080。

输出:

  • 调用API:

  • 实时查看消息: