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

打印 上一主题 下一主题

主题 1078|帖子 1078|积分 3234

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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 "ublished Successfully";

    }

}


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



  • 运行 Apache Zookeeper 服务器
  • 运行 Apache Kafka 服务器
  • 监听来自新主题的消息

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


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

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


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

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


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

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

  1. server.port=8081
复制代码
让我们在 ApacheKafkaProducerApplication 文件中运行 Spring Boot 应用程序




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

  1. http://localhost:8081/publish/GeeksforGeeks
复制代码
当我们在这里传递“GeeksforGeeks”时,您可以看到我们收到了“已成功发布”的回复。而且您可以及时看到该消息也已发布在服务器上。消息的流式传输是及时的。 




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






免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

勿忘初心做自己

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表