目录

  • 一、概述
  • 二、基础配置
  • 三、生产者
  • 四、消费者


一、概述

这是一篇Java集成RabbitMQ的入门案例,在这里我们做一个小案例,来体会一下RabbitMQ的魅力。
首先我们要做的就是创建一个生产者一个消费者:

  1. 生产者直接向RabbitMQ的队列(Queue)simple.queue中发送消息。
  2. 消费者负责接收队列(Queue)simple.queue发送过来的消息。

生产者源码
消费者源码

二、基础配置

当我们的生产者要发送和接收消息时,首先需要再RabbitMQ中创建一个通道。
在这里插入图片描述

三、生产者

  1. 加载POM文件
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>
</dependencies>
  1. 配置YML文件
server:port: 8021
spring:#给项目来个名字application:name: rabbitmq-provider#配置rabbitMq 服务器rabbitmq:host: 127.0.0.1port: 5672username: adminpassword: adminvirtualHost: /mamfconnection-timeout: 5000requested-heartbeat: 30
  1. 在Test中编写测试代码
package com.ming;import org.junit.jupiter.api.Test;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class SpringAmqpTest {@Autowiredprivate RabbitTemplate rabbitTemplate;@Testpublic void testSend() {for (int i = 0; i < 10; i++) {String queueName = "simple.queue";  // 队列名称String messahe = String.format("hello %s, spring amqp!", i + 1);  // 消息rabbitTemplate.convertAndSend(queueName, messahe);  // 发送}}
}

四、消费者

消费者的前两部分与生产者是一样的,消费者需要创建一个监听,用于监听simple.queue队列。

package com.ming.listens;import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;@Slf4j
@Component
public class RabbitmqListen {@RabbitListener(queues = "simple.queue")public void listenSimpleQueue(String message){System.out.println(String.format("消费者收到了simple.queue: %s", message));}
}

当从生产者发送消息时,消费者就会监听到数据。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93887.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93887.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/93887.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu 下面安装搜狗输入法debug记录

目录0. 整体安装流程1. 在键盘输入法系统中&#xff0c;没有“fcitx”选项解决方法0. 整体安装流程 详细的Ubuntu搜狗输入法安装指南请参考官方教程&#xff1a;Ubuntu搜狗输入法安装指南 1. 在键盘输入法系统中&#xff0c;没有“fcitx”选项 即使是安装完 fcitx&#xff0…

Jenkins+GitLab在CentOS7上的自动化部署方案

最近在安装jenkins实现微服务的自动发布&#xff0c;记录配置过程以免再次踩坑。 Centos7环境准备 jenkins、gitlab配置&#xff0c;全程使用ftpuser普通用户操作 &#xff08;1&#xff09;安装好jdk并配置好环境变量 安装路径/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.…

打开或者安装Navicat时出现Missing required library libcurl.dll,126报错解决方法(libmysql_e.dll等)

提示 Missing required library libcurl.dll 出现原因是由于Navicat安装目录下libcurl.dll可能不能用了&#xff0c;下载该文件放到Navicat安装目录下即可。下载地址&#xff1a;libcurl.dll — download free for Windows 下载解压包里只有个libcurl.dll 提示 Missing requir…

基于SpringBoot的流浪动物领养管理系统【2026最新】

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

Qt实现TabWidget通过addTab函数添加的页,页内控件自适应窗口大小

前言&#xff1a;因为项目的要求&#xff0c;需要把几个不同类型功能的界面集成在同一个窗口中&#xff0c;方便用户不切换窗口&#xff0c;也能快捷的操作不同类型的功能。我首先想到的是通过选项卡方式&#xff0c;让几个类别的功能界面通过不同选项卡进行切换&#xff0c;这…

代码随想录算法训练营27天 | ​​56. 合并区间、738.单调递增的数字、968.监控二叉树(提高)

题目链接&#xff1a;56. 合并区间、738.单调递增的数字、968.监控二叉树 文章链接&#xff1a;代码随想录 贪心算法 1. 合并区间 &#xff08;待更新...&#xff09; class Solution { private:static bool cmp(const vector<int>& a, const vector<int>&…

从 H.264/H.265 到 H.266:RTSP播放器的跨代际演进

引言&#xff1a;H.266与实时视频的交汇点 视频编解码的发展历程&#xff0c;始终是 带宽效率与视觉体验的博弈。从 H.264 的普及&#xff0c;到 H.265/HEVC 的深化应用&#xff0c;每一次标准迭代&#xff0c;都在推动视频向更高分辨率、更高帧率、更复杂场景的应用迈进。而 …

oc-mirror plugin v2 错误could not establish the destination for the release i

openshift 4.19使用的镜像仓库为harbor. 运行disk to registry时出现下面的错误&#xff1a; 2025/08/19 17:51:13 [ERROR] : [Executor] [release collector] could not establish the destination for the release image 备注&#xff1a; 我没有账户&#xff0c;无法打开…

Android auncher3实现简单的负一屏功能

Android launcher3实现简单的负一屏功能 1.前言&#xff1a; 之前实现过Launcher3从凑提修改成单层&#xff0c;今天来讲解一下如何实现一个简单的负一屏功能&#xff0c;涉及的类如下&#xff0c;直接看代码。 2.NegativeScreenAdapter&#xff1a; package com.example.ne…

跨网闸数据库同步:在物理隔离中架起安全的数据桥梁

作者:DeepSeek-R1 | 日期:2025年8月17日 引言 在等保2.0和分级保护政策的要求下,高密级网络(如政务内网、金融核心网)必须与低密级网络(如互联网)物理隔离。但业务又要求数据跨网流动(如市民在线提交申请、分支机构数据回传)。如何解决这一矛盾?双向网闸与单向光闸成…

【Android】一文详解Android里的AOP编程

一文详解Android里的AOP编程 1. 基于 AspectJ&#xff08;编译期/打包期织入&#xff09; 思路&#xff1a;用 AspectJ 编译器在 编译阶段 或 Gradle Transform 阶段&#xff0c;把切面逻辑织入 class / bytecode。 特点&#xff1a; 能实现类似 Spring AOP 的注解切面&#…

AI+预测3D新模型百十个定位预测+胆码预测+去和尾2025年8月21日第167弹

从今天开始&#xff0c;咱们还是暂时基于旧的模型进行预测&#xff0c;好了&#xff0c;废话不多说&#xff0c;按照老办法&#xff0c;重点8-9码定位&#xff0c;配合三胆下1或下2&#xff0c;杀1-2个和尾&#xff0c;再杀4-5个和值&#xff0c;可以做到100-300注左右。(1)定位…

机器学习【十】neural network

系统梳理了机器学习与神经网络的基础知识&#xff0c;涵盖理论、核心概念及代码实践。理论部分包括线性模型&#xff08;向量表示、广义线性模型&#xff09;、分类与回归的区别、梯度下降&#xff08;批量/随机/小批量&#xff09;、激活函数&#xff08;Sigmoid、ReLU等&…

如何用算力魔方4060安装PaddleOCR MCP 服务器

在当今数字化快速发展的时代&#xff0c;OCR&#xff08;光学字符识别&#xff09;技术已经成为从图像中提取文本信息的重要工具。无论是在自动化办公、智能文档处理还是在内容创作领域&#xff0c;OCR 技术的应用都极大地提高了工作效率和准确性。本文将详细介绍如何利用算力魔…

Azure的迁移专业服务是怎么提供的

好的&#xff0c;这是一个非常实际的问题。Azure的迁移专业服务&#xff08;Professional Services for Migration&#xff09;并非一个单一的“产品”&#xff0c;而是一个由微软及其庞大的合作伙伴生态系统共同提供的、基于成熟方法论的综合服务框架。其提供方式可以概括为&a…

Seaborn数据可视化实战:Seaborn入门-环境搭建与基础操作

Seaborn环境搭建与配置 学习目标 本课程将指导学员如何在不同的操作系统&#xff08;Windows, macOS, Linux&#xff09;上安装Seaborn库&#xff0c;以及如何配置Python环境&#xff0c;包括使用Jupyter Notebook和Spyder等集成开发环境&#xff08;IDE&#xff09;的基本操作…

Windows下RabbitMQ完整安装指南

一、RabbitMQ 简介 RabbitMQ 是一款基于 Erlang 语言开发的开源消息队列中间件&#xff0c;实现了高级消息队列协议&#xff08;AMQP&#xff09;。其最初起源于金融系统&#xff0c;专为分布式系统中的消息存储与转发设计&#xff0c;在可靠性、扩展性和高可用性方面表现卓越…

thingsboard 通过Entities hierarchy部件实现左边菜单点击,右边的表格按左边的分类型进行过滤筛选数据源

在 ThingsBoard 中&#xff0c;要让“Entities hierarchy”部件&#xff08;左侧树形导航&#xff09;与右侧的数据表格实现联动——即点击左侧某个节点后&#xff0c;右侧表格立刻按该节点对应的实体类型/层级进行过滤——需要把“数据源别名&#xff08;Alias&#xff09; 仪…

【Ansible】核心概念解析:架构、清单管理与配置入门

本专栏文章持续更新&#xff0c;新增内容使用蓝色表示。对于系统管理员而言&#xff0c;手动管理每一台服务器不仅维护难度极大&#xff0c;而且即使经验丰富&#xff0c;也难免出现疏忽和错误。自动化技术能有效避免因手动管理系统和基础架构而产生的各类问题。其优点包括&…

rs-fMRI_两篇文章中分析方法的梳理(近乎翻译)

文章一文章信息APOE ε4 influences within and between network functional connectivity in posterior cortical atrophy and logopenic progressive aphasia2024美国梅奥诊所发表在Alzheimers Dement. 的文章。“APOE ε4等位基因对后皮质萎缩与进行性语言障碍型失语症的网络…