RabbitMq实战: spring boot RabbitMq结合实例

tech2026-01-13  13

文章目录

一. 前言二. RabbitMq简介:三. Springboot集成 RabbitMq1. pom.xml 文件引入jar包:2. application.yml加入RabbitMq的配置:3. 创建一个RabbitMq消息队列:4. 创建RabbitMq消息队列接收方:5. 创建消息队列发送方: 四. 获取源码:五. 主流消息队列对比:

一. 前言

你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用、通讯的问题而苦恼、挣扎?如果是,那么恭喜你,消息服务让你可以很轻松地解决这些问题。 消息服务擅长于解决多系统、异构系统间的数据交换(消息通知/通讯)问题,你也可以把它用于系统间服务的相互调用(RPC)。本文将要介绍的RabbitMQ就是当前最主流的消息中间件之一。

二. RabbitMq简介:

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 下面将介绍Spring boot结合RabbitMq的步骤:

三. Springboot集成 RabbitMq

1. pom.xml 文件引入jar包:

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

2. application.yml加入RabbitMq的配置:

spring: rabbitmq: host : 127.0.0.1 port : 5672 username: guest password: guest

3. 创建一个RabbitMq消息队列:

package com.plugs.RabbitMq; import org.springframework.amqp.core.Queue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class RabbitConfig { @Bean public Queue helloQueue() { return new Queue("topic_name"); } }

4. 创建RabbitMq消息队列接收方:

package com.plugs.RabbitMq; import com.alibaba.fastjson.JSONObject; import com.enjoypark.model.DemoOrder; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; @Component @RabbitListener(queues = "topic_name") public class ReceiverMQ { @RabbitHandler public void process(String reciverStr) { //对接受的url发送消息 try { System.out.println(reciverStr); } catch (Exception e) { e.printStackTrace(); } } }

5. 创建消息队列发送方:

package com.plugs.RabbitMq; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class SenderMQ { @Autowired private AmqpTemplate rabbitTemplate; public void send(String context) { System.out.println("Sender : " + context); this.rabbitTemplate.convertAndSend("topic_name", context); } }

四. 获取源码:

获取完整源码地址: https://download.csdn.net/download/penggerhe/11670196公众号关注,免费领取:

五. 主流消息队列对比:

https://blog.csdn.net/penggerhe/article/details/108404243

最新回复(0)