Sping Boot教程之五十四:Spring Boot Kafka 生产者示例

Spring Boot Kafka 生产者示例

Spring Boot 是 Java 编程语言中最流行和使用最多的框架之一。它是一个基于微服务的框架,使用 Spring Boot 制作生产就绪的应用程序只需很少的时间。Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以"直接运行"。因此,下面列出了 Spring boot 的一些主要功能。

  • 创建独立的 Spring 应用程序
  • 直接嵌入 Tomcat、Jetty 或 Undertow。
  • 提供"启动器"依赖项以简化构建配置。
  • 尽可能自动配置 Spring 和第三方库。
  • 提供可用于生产的功能,例如健康检查、指标和外部化配置。
  • 几乎不需要代码生成,也不需要 XML 配置。

Apache Kafka 是一个发布-订阅消息系统。消息系统允许您在进程、应用程序和服务器之间发送消息。广义上讲,Apache Kafka 是一种可以定义和进一步处理主题(主题可能是类别)的软件。应用程序可以连接到此系统并将消息传输到主题上。消息可以包含任何类型的信息,来自您的个人博客上的任何事件,也可以是一条可以触发任何其他事件的非常简单的文本消息。在这里,我们将讨论如何使用 Spring Boot 将消息发布到 Kafka 主题 ,其中Kafka 是先决条件

例子:

先决条件 :确保您已在本地计算机上安装了 Apache Kafka。请参阅本文 如何在 Windows 上安装和运行 Apache Kafka?

**步骤 1:**转到此链接https://start.spring.io/并创建一个 Spring Boot 项目。将以下依赖项添加到您的 Spring Boot 项目。

  • Spring Web
  • Spring for Apache Kafka

第 2 步: 现在让我们创建一个名为DemoController的控制器类。

Java

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| // Java Program to Illustrate Controller Class package com.amiya.kafka.apachekafkaproducer; // Importing required classes import org.springframework.beans.factory.annotation.Autowired; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.web.bind.annotation.*; // Annotation @RestController // Class public class DemoController { // Autowiring Kafka Template @Autowired KafkaTemplate<String, String> kafkaTemplate; private static final String TOPIC = "NewTopic"; // Publish messages using the GetMapping @GetMapping("/publish/{message}") public String publishMessage(@PathVariable("message") final String message) { // Sending the message kafkaTemplate.send(TOPIC, message); return "Published Successfully"; } } |

**步骤 3:**现在我们必须做以下事情才能使用 Spring Boot 将消息发布到 Kafka 主题

  1. 运行 Apache Zookeeper 服务器
  2. 运行 Apache Kafka 服务器
  3. 监听来自新主题的消息

使用此命令运行 Apache Zookeeper 服务器

复制代码
C:\kafka>.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

类似地,使用此命令运行 Apache Kafka 服务器

复制代码
C:\kafka>.\bin\windows\kafka-server-start.bat .\config\server.properties

运行以下命令来监听来自新主题的消息

复制代码
C:\kafka>.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic NewTopic --from-beginning

步骤 4: 现在运行你的 Spring Boot 应用程序。确保已在application.properties文件中更改了端口号

复制代码
server.port=8081

让我们在 ApacheKafkaProducerApplication 文件中运行 Spring Boot 应用程序

**步骤 5:**浏览此 URL 并在 /publish/ 后传递您的消息。

复制代码
http://localhost:8081/publish/GeeksforGeeks

当我们在这里传递"GeeksforGeeks"时,您可以看到我们收到了"已成功发布"的回复。并且您可以实时看到该消息也已发布在服务器上。消息的流式传输是实时的。

类似地,如果我们在这里传递了"Hello World",你会看到我们得到了"发布成功"的回复。而且你还可以实时看到消息已在服务器上发布。

相关推荐
摇滚侠10 小时前
SpringMVC 入门到实战 文件上传 75-77
java·后端·spring·maven·intellij-idea
GIS数据转换器10 小时前
城市排水生命线安全运行监测平台深度解析
java·运维·人工智能·python·安全·数据挖掘·无人机
华如锦11 小时前
面了很多 Java转AI Agent方向,一些面试题总结
java·开发语言·人工智能·python·ai
睡不醒男孩03082311 小时前
CLup 6.x 版本中针对StarRocks 存算一体集群的完整操作手册
java·服务器·网络·clup
程序员黑豆12 小时前
Java中怎么实现字符串拼接呢【AI全栈开发】
java
fox_lht12 小时前
15.3.改进我们之前的输入、输出项目
开发语言·后端·学习·rust
大鸡腿同学13 小时前
用 AI 肝了一个星期的智能客服助手,看看怎么个事
后端
IT_陈寒13 小时前
Python的os.path.join居然能这么坑?
前端·人工智能·后端
java1234_小锋13 小时前
LangChain4j 开发Java Agent智能体- 多模态支持
java·开发语言·langchain4j