【rabbitMQ】springboot整合rabbitMQ模拟简单收发消息

news2024/11/24 23:02:13

目录

1.创建项目和模块

2.添加rabbitMQ依赖

3.启动rabbitMQ服务

4.引入rabbitMQ服务端信息

5.通过单元测试模拟业务发送消息

6. 接收消息


1.创建项目和模块

2.添加rabbitMQ依赖

<!-- rabbitmq依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

3.启动rabbitMQ服务

登录

4.引入rabbitMQ服务端信息

spring:
  rabbitmq:
    port: 5672
    host: localhost
    username: guest       rabbitMQ服务端账号
    password: guest       rabbitMQ服务端密码  
    virtual-host: /       虚拟机地址 

rabbitMQ服务端用户和虚拟机操作可参考

https://blog.csdn.net/m0_67930426/article/details/134905566

5.消费者监听队列 

package com.example.consumer.mqListener;


import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Slf4j
@Component
public class Listener {

    @RabbitListener(queues = "bbb.queue")
    public void bbb(String msg){
        System.out.println("消费者收到了bbb.queue的消息:【"+msg+"】");


    }
}

运行 

 

6.通过单元测试模拟业务发送消息

package com.example.publisher;

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 SendMessage {


    @Autowired
    private RabbitTemplate rabbitTemplate;


    @Test
    void  TestSend(){
        String queueName="aaa.queue";
        String msg="我正在使用rabbitMQ";
        rabbitTemplate.convertAndSend(queueName,msg);

    }


}

运行成功

 

如果队列未接收到msg,很可能是交换机未绑定该队列

因为生产者发送消息,经过交换机,再到队列,最终由消费者监听,接收消息

交换机绑定队列可以参考

https://blog.csdn.net/m0_67930426/article/details/134904365?spm=1001.2014.3001.5501

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

泊车功能专题介绍 ———— AVP系统技术要求之运动控制SOTIF

文章目录 运动控制要求车辆子系统控制系统配置要求车辆运动控制系统要求驱动系统制动系统驻车系统转向系统换档系统自动启停系统车联网系统车辆运行数据采集系统灯光系统门锁车窗系统续航里程车内HMI系统胎压监测系统无钥匙进入及启动系统雨刮系统空调系统安全系统电动后视镜系…

谈谈多模态大模型

引言 长期以来&#xff0c;每个机器学习模型都以一种数据模式运行——文本&#xff08;翻译、语言建模&#xff09;、图像&#xff08;对象检测、图像分类&#xff09;或音频&#xff08;语音识别&#xff09;。 然而&#xff0c;自然智能并不仅限于单一模态。人类可以阅读和…

计网Lesson8 - NAT技术与链路层概述

文章目录 NAT 技术1. 因特网的接入方式2. 公网和私网3. NAT 技术 链路层1. 数据链路层概述2. 数据链路层的三个问题2.1 封装成帧2.2 透明传输2.3 差错检测 NAT 技术 1. 因特网的接入方式 光猫将电信号转换为数字信号发送给路由器 光纤入户 光纤传递的就是数字信号&#xff0c…

AI智能雷达名片平台版小程序源码系统 附带完整的搭建教程

随着人工智能技术的快速发展&#xff0c;名片交往在商务社交中变得越来越重要。然而&#xff0c;传统的名片管理系统存在许多问题&#xff0c;如信息不准确、更新不及时、无法快速筛选等。为了解决这些问题&#xff0c;我们开发了AI智能雷达名片平台版小程序源码系统。该系统基…

UPCX:一个日本背景的区块链支付创新项目,面向全球的支付和金融服务市场

日本是区块链技术的发源地之一&#xff0c;也是全球区块链技术的领先国家之一。日本政府对区块链技术持积极支持的态度&#xff0c;制定了一系列的法律法规和政策措施&#xff0c;为区块链技术的发展提供了良好的环境和基础。日本国内各大金融机构和互联网公司等也在积极介入区…

基于SSM+MySQL学生宿舍管理系统的设计与实现(源码+数据库+文档)

摘 要 近年来&#xff0c;随着计算机技术的不断发展和运用&#xff0c;许多实际问题都得到了较好地解决。随着现代社会对企业经营的需求日益增长&#xff0c;企业的无纸办公也逐渐得到了推广。本学生宿舍管理系统的设计开发&#xff0c;目标就是解决宿舍管理复杂的人为管理&a…

【EI会议征稿】第三届光学与机器视觉国际学术会议(ICOMV 2024)

第三届光学与机器视觉国际学术会议(ICOMV 2024) 2024 3rd International Conference on Optics and Machine Vision 第三届光学与机器视觉国际学术会议(ICOMV 2024)将于2024年1月19-21日在中国南昌举行。本次会议将围绕“光学”与"机器视觉”等研究领域展开讨论&#xf…

系统架构设计师教程(三)信息系统基础知识

信息系统基础知识 3.1 信息系统概述3.1.1 信息系统的定义3.1.2 信息系统的发展3.1.3 信息系统的分类3.1.4 信息系统的生命周期3.1.5 信息系统建设原则3.1.6 信息系统开发方法 3.2 业务处理系统 (TPS)3.2.1 业务处理系统的概念3.2.2 业务处理系统的功能3.2.3 业务处理系统的特点…

springboot+ssm+java植物养护花卉花圃管理系统

花圃管理系统&#xff0c;主要的模块包括查看个人中心、游客管理、员工管理、植物种类管理、植物信息管理、植物绿化管理、花圃园区管理、商品服务管理、系统管理等功能。系统中管理员主要是为了安全有效地存储和管理各类信息&#xff0c;还可以对系统进行管理与更新维护等操作…

java--LocalDate、LocalTime、LocalDateTime、ZoneId、Instant

1.为什么要学习JDK8新增的时间 LocalDate&#xff1a;代表本地日期(年、月、日、星期) LocalTime&#xff1a;代表本地时间(时、分、秒、纳秒) LocalDateTime&#xff1a;代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒) 它们获取对象的方案 2.LocalDate的常用API(…

Linux上的MAC地址欺骗

Linux上的MAC地址欺骗 1、查看mac地址法1&#xff1a;ifconfig法2&#xff1a;ip link show 2、临时性改变 MAC 地址法1&#xff1a;使用iproute2工具包法2&#xff1a;使用macchanger工具 3、永久性改变 MAC 地址3.1 在 Fedora、RHEL下实践3.2 在 Debian、Ubuntu、Linux Mint下…

ABAP ALV报表多个屏幕不共用一个布局的处理方法 (独立布局)<转载>

原文链接&#xff1a;https://zhuanlan.zhihu.com/p/592842221 问题描述&#xff1a; 自开发的ALV报表有多个屏幕&#xff0c;如果调整其中一个屏幕的默认布局&#xff0c;则会影响其他ALV界面的布局。 解决方法&#xff1a; 定义内表ls_variant DATA: ls_variant TYPE d…

EDA 数字时钟

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、数字时钟是什么&#xff1f;二、EDA里面数码管的显示1.元件模型2.参考程序3. 实验仿真波形4.实验现象5. 仿真问题 三、显示时钟1. 时钟电路模块2.参考程序3…

一些AG10K FPGA 调试的建议-Douglas

PLL AGM FPGA 在配置成功时&#xff0c;PLL 已经完成锁定&#xff0c;lock 信号已经变高&#xff1b;如果原设计中用 lock 信号输出实现系统 reset 的复位功能&#xff0c;就不能正确完成上电复位&#xff1b;同时&#xff0c;为了保证 PLL 相移的稳定&#xff0c;我们需要在 P…

Linux Component概述和高通component的使用

1 Linux为什么要引入Component框架&#xff1f; 为了让subsystem按照一定顺序初始化设备才提出来的。 subsystem中由很多设备模块&#xff0c;内核加载这些模块的时间不确定。子系统内有些模块是需要依赖其它模块先初始化才能进行自己初始化工作(例如v4l2 subdev和v4l2 video …

Java+Swing: 连接数据库并完成登录验证 整理10

1. 封装连接数据库的工具类 package com.utils;import java.sql.*;/*** Author&#xff1a;xiexu* Date&#xff1a;2023/12/11 10:13*/ // 连接数据库的工具类 public class DBUtil {private static final String URL "jdbc:mysql://localhost:3306/student_score?use…

GridBagLayout GridBagConstraints 笔记231130

实例化使用模板 GridBagLayout gbl new GridBagLayout(); // gbl.columnWidths new int[]{200,200,200}; // 用数组设置列 // gbl.rowHeights new int[]{100,100,100,100,100}; // 用数组设置行GridBagConstraints gbc new GridBagConstraints();/*** gridBagConstrain…

AMD 发布新芯片MI300,支持训练和运行大型语言模型

AMD 宣布推出 MI300 芯片&#xff0c;其 Ryzen 8040移动处理器将于2024年用于笔记本电脑。 AMD官方网站&#xff1a;AMD ׀ together we advance_AI AMD——美国半导体公司专门为计算机、通信和消费电子行业设计和制造各种创新的微处理器&#xff08;CPU、GPU、主板芯片组、电…

剧本杀小程序系统开发,助力剧本杀市场创新发展

近年来&#xff0c;剧本杀发展速度非常快&#xff0c;短短几年内&#xff0c;就发展到了百亿元的市场规模&#xff01; 在互联网的发展下&#xff0c;剧本杀迎来了新的发展模式--线上剧本杀。线上剧本杀能够让玩家体验到智能化、趣味化的游戏乐趣&#xff0c;不受时间、地点限…

7+共病+PPI分析+转录调控,纯生信靠这个思路也能拿7+

今天给同学们分享一篇生信文章“Exploring the Pathogenesis of Psoriasis Complicated With Atherosclerosis via Microarray Data Analysis”&#xff0c;这篇文章发表在Front Immunol期刊上&#xff0c;影响因子为7.3。 结果解读&#xff1a; 差异表达基因的鉴定 该研究的…