当前位置: 首页 > 图灵资讯 > 技术篇> springboot项目中rabbitmq发送和监听java代码示例

springboot项目中rabbitmq发送和监听java代码示例

来源:图灵教育
时间:2023-11-30 17:21:58

Spring RabitMQ在Boot项目中发送和监控Java代码示例

RabitMQ是一个开源信息中间件,它可以在分布式系统中传输数据,并提供可靠的信息传输机制。Spring Boot是一种快速开发框架,它可以简化Spring应用程序的配置和部署。

本文将介绍如何在Spring中介绍 Boot项目使用RabbitMQ发送和监控消息,并提供相应的Java代码示例。我们将首先创建一个简单的Spring Boot应用程序,并配置RabbitMQ连接。然后,我们将展示如何发送和监控消息。

准备工作

首先,我们需要Spring RabbitMQ的依赖添加到Boot项目中。pom.xml以下内容添加到文件中:

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-amqp</artifactId></dependency>

接下来,我们需要在那里application.properties在文件中添加RabitMQ的配置信息:

spring.rabbitmq.host=localhostspring.rabbitmq.port=5672spring.rabbitmq.username=guestspring.rabbitmq.password=guest
创建新闻发送者

我们首先创建一个向RabbitMQ发送消息的发送者。创建一个名称MessageSender添加以下代码:

import org.springframework.amqp.core.AmqpTemplate;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;@Componentpublic class MessageSender {    @Autowired    private AmqpTemplate amqpTemplate;    public void sendMessage(String message) {        amqpTemplate.convertAndSend("myQueue", message);        System.out.println("Sent message: " + message);    }}

我们使用上述代码AmqpTemplate把消息发到名字上myQueue队列。我们通过convertAndSend()方法发送消息,并在控制台上打印发送消息。

创建新闻监听器

接下来,我们将创建一个从RabbitMQ接收消息的消息监听器。创建一个名称MessageListener添加以下代码:

import org.springframework.amqp.rabbit.annotation.RabbitListener;import org.springframework.stereotype.Component;@Componentpublic class MessageListener {    @RabbitListener(queues = "myQueue")    public void receiveMessage(String message) {        System.out.println("Received message: " + message);    }}

我们使用上述代码@RabbitListener指定监听队列的注释myQueue,并在receiveMessage()处理方法中收到的信息。

使用消息发送者和监听器

现在我们可以使用消息发送者和监控器在其他组件中发送和接收消息。假设我们在那里MyComponent它们在组件中使用:

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;@Componentpublic class MyComponent {    @Autowired    private MessageSender messageSender;    public void doSomething() {        messageSender.sendMessage("Hello, RabbitMQ!");    }}

在上述代码中,我们通过messageSender发了一条消息。

运行应用

现在我们可以运行我们的Spring了 Boot应用程序,并观察控制台输出。首先,我们需要启动RabitMQ服务器。然后,我们的应用程序在IDE中运行。当MyComponentdoSomething()当该方法被调用时,将向RabbitMQ发送消息,并在控制台上打印发送和接收消息。

类图

以下是本示例中类的关系图:

classDiagram    class MessageSender {        +sendMessage(String message)    }        class MessageListener {        +receiveMessage(String message)    }        class MyComponent {        -messageSender: MessageSender        +doSomething()    }    MessageSender --* MyComponent    MessageListener --* MyComponent

在上述类图中,MyComponent依赖于MessageSenderMessageListener

关系图

以下是本示例中的关系图:

erDiagram    MY_COMPONENT ||..|| MESSAGE_SENDER : has    MY_COMPONENT ||..|| MESSAGE_LISTENER : has

在上述关系图中,MyComponent拥有一个MessageSender和一个MessageListener对象。

总结

通过本文的代码示例,我们学习了如何在Spring Boot项目使用RabbitMQ发送和监控消息。我们创建了一个信息发送者和一个信息监控器,并在其他组件中使用它们。为了更好地理解代码结构,我们还展示了类图和关系图