Java编写简易rabbitmq生产者与消费者
一、前言
开发时经常与其它系统用rabbitmq对接,当需要自测时,还是自己写rabbitmq生产者、消费者自测方便些。
下面总结下不用框架、使用java编写简易rabbitmq的方法。
二、代码
1.导入jar包
(1)如果是maven,那就用
<dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>3.3.4</version></dependency>
(2)如果没用maven,那就找一个amqp-client-3.3.4.jar文件,然后引入项目
2.生产者代码
package RABBIT_MQ;import com.rabbitmq.client.*;import java.io.IOException;
import java.util.concurrent.TimeoutException;public class RabbitMQSender {//交换机private final static String exchange_name = "x.mySys.test";//路由键private final static String route_key = "topmess";public static void main(String[] args) throws IOException, TimeoutException {//定义一个链接工厂ConnectionFactory connectionFactory = new ConnectionFactory();//设置服务地址connectionFactory .setHost("10.123.123.123");//设定端口connectionFactory .setPort(5673);//设定用户名connectionFactory .setUsername("myuser");//设定密码connectionFactory .setPassword("mypass");//设定虚拟机connectionFactory .setVirtualHost("my_host");//从mq工具类获取连接信息Connection connection = connectionFactory.newConnection();//获取一个通道Channel channel = connection.createChannel();String message = "Hello World!";channel.basicPublish(exchange_name, route_key, null, message.getBytes());System.out.println("运行完毕,已发送消息【" + message + "】");channel.close();connection.close();}}
说明:
(1)其中的配置,按照自己的rabbitmq配置更改
(2)生产者配置了交换机名与路由键
3.消费者代码
package RABBIT_MQ;import java.io.IOException;
import java.util.concurrent.TimeoutException;import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.DefaultConsumer;
import com.rabbitmq.client.Envelope;public class RabbitMQReceiver {private static String queue_name="q.mySys.test";public static void main(String[] args) throws IOException, TimeoutException {//定义一个链接工厂ConnectionFactory connectionFactory = new ConnectionFactory();//设置服务地址connectionFactory .setHost("10.123.123.123");//设定端口connectionFactory .setPort(5673);//设定用户名connectionFactory .setUsername("myuser");//设定密码connectionFactory .setPassword("mypass");//设定虚拟机connectionFactory .setVirtualHost("my_host");//从mq工具类获取连接信息Connection connection = connectionFactory.newConnection();//获取一个通道Channel channel = connection.createChannel();//监听该队列,false代表手动确认channel.basicConsume(queue_name,false,new DefaultConsumer(channel){public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties basicProperties, byte[] body) throws IOException{System.out.println("接收到的消息:"+ new String(body,"UTF-8"));}});System.out.println("运行完毕,等待mq接收消息");}}
说明:
(1)其中的配置,按照自己的rabbitmq配置更改
(2)消费者配置了监听队列
(3)消费者启动后一直开启,除非手动关闭项目运行
相关文章:
Java编写简易rabbitmq生产者与消费者
一、前言 开发时经常与其它系统用rabbitmq对接,当需要自测时,还是自己写rabbitmq生产者、消费者自测方便些。 下面总结下不用框架、使用java编写简易rabbitmq的方法。 二、代码 1.导入jar包 (1)如果是maven,那就用 <dependency>&…...
3.0.3版vsftpd所支持的FTP命令
2023年11月9日,周四下午 ABOR:中止当前的数据连接。ACCT:提供用户帐户信息,通常用于特定的站点访问控制。ALLO:为服务器上的文件分配存储空间。APPE:将数据添加到现有的远程文件中。CDUP:将当前…...
OTA包添加自定义内容
起因 新开一条线,需要上传的OTA包里加点内容,好让后台校验它是否是当前这条线(短期最小改动)。 开整 之前看过ota包结构,整包和差分包里都有一个payload_properties.txt文件,所以最简单的就是给这个txt文件里追加点自定义内容&…...
Luatos Air700 改变BL0942串口波特率
LuatOs 改变模块串口波特率思路参照 luatos 改变AIR530串口波特率 BL0942默认串口波特率可以通过SCLK_BPS引脚接3.3V电源设置到9600bps 但如果调整到38400bps需要修改0x19寄存器 bl0942 v1.06版的特殊寄存器说明,注意早期版本特殊寄存器说明存在错误 完整代码 mai…...
不可忽视的国外服务器地址IP选择指南
在如今互联网高速发展的时代,海外服务器扮演着重要的角色。选择合适的国外服务器IP地址却是一项复杂而又关键的任务。本文将为您介绍一些不可忽视的国外服务器地址IP选择指南。 私有IP地址: 私有IP地址是指在局域网内使用的IP地址,用于…...
C语言 预处理详解
目录 1.预定义符号 2.#define 2.1#define 定义标识符 2.2#define 定义宏 2.3#define 替换规则 2.4#和## 2.4.1# 的作用 2.4.2## 的作用 2.5 带有副作用的宏参数 2.6宏和函数的对比 对比 **2.7内联函数 2.8命名约定 3.#undef **4.命令行定义 5.条件编译 常…...
c++ async 使用详解,创建异步任务的多种方法
c async 使用详解 std::async 头文件 #include <future>。 函数原型: template<class Function, class... Args> std::future<std::invoke_result_t<std::decay_t<Function>,std::decay_t<Args>...>>async(std::launch polic…...
万物皆数——用matlab求解二阶微分方程
一、背景 毕达哥拉斯的“万物皆数”哲学观点表达了一个理念,即宇宙万物都可以通过数学语言来描述,数是万物的本原。 勾股定理就是毕达哥拉斯提出,因此在西方勾股定理也被叫做毕达哥拉斯定理。 工科类的专业,越到后面越感觉到数学…...
jmeter接口自动化部署jenkins教程
首先,保证本地安装并部署了jenkins,jmeter,xslproc 我搭建的自动化测试框架是jmeterjenkinsxslproc ---注意:原理是,jmeter自生成的报告jtl文件,通过xslproc工具,再结合jmeter自带的模板修改&…...
前端js实现将数组对象组装成自己需要的属性,或者去掉对象中不必要的属性
前言 提示:这里可以添加本文要记录的大概内容: 需求:前端js实现将数组对象组装成自己需要的属性,或者前端js实现去掉对象中不必要的属性 提示:以下是本篇文章正文内容,下面案例可供参考 一、示例数组对象…...
MeterSphere 任意文件读取漏洞(CVE-2023-25814)
MeterSphere 任意文件读取漏洞(CVE-2023-25814) 免责声明漏洞描述漏洞影响漏洞危害网络测绘Fofa: title"MeterSphere" 漏洞复现1. 构造poc2. 发送数据包3. 查看文件 免责声明 仅用于技术交流,目的是向相关安全人员展示漏洞利用方式,以便更好地…...
设计模式-01-单例设计模式
经典的设计模式有23种,但是常用的设计模式一般情况下不会到一半,我们就针对一些常用的设计模式进行一些详细的讲解和分析,方便大家更加容易理解和使用设计模式。 1-为什么要使用单例 单例设计模式(Singleton Design Pattern&…...
霍尔电流传感器如何进行可靠性测试?主要应用在哪些领域?
霍尔电流传感器广泛应用于航空航天、电源监测、飞行器状态监测、变速驱动设备、焊接设备供电电源、新能源汽车蓄电池管理系统等领域,在电流检测领域中有着重要地位和实用价值,在电驱系统中被称为新能源汽车的动力“心脏”。因此,霍尔电流传感…...
pandas按行按列遍历Dataframe的三种方式
遍历数据有以下三种方法: 简单对上面三种方法进行说明: iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问。 itertuples(): 按行遍历,将DataFrame的每一行迭代为元…...
Api接口如何防止被刷?
现在越来越多的应用程序和服务都提供了API接口,使得开发人员可以方便地与这些应用程序和服务进行交互。但是,由于API接口是公开的,因此很容易被黑客利用,对系统造成损害。为了确保API接口的安全性,我们需要采取一些措施…...
Django——orm模块创建表关系
django orm中如何创建表关系 1. 表关系分析 表与表之间的关系: 一对多 多对多 一对一 没有关系 判断表关系的方法: 换位思考用4张表举例: 图书表 出版社表 作者表 作者详情表图书和出版社是一对多的关系 外键字段建在多的那一方图书和作者是多对多的关系 需要创建第三张表来…...
Django知识点
目录 一、三板斧的使用 二、全局配置文件 三、静态文件的设置 四、request对象的方法 五、pycharm链接数据库 六、Django链接数据库 七、orm介绍 一、三板斧的使用 三个方法: HttpResponse renderredirect def index(request):print(request)return HttpR…...
基于单片机设计的智能风扇(红外线无线控制开关调速定时)
一、项目介绍 在炎热的夏季,风扇成为人们室内生活中必不可少的电器产品。然而,传统的风扇控制方式存在一些不便之处,比如需要手动操作开关、无法远程控制和调速,以及缺乏定时功能等。为了解决这些问题,设计了一款基于…...
k8s报错pause 3.2 解决方案
报错 Failed to create pod sandbox: rpc error: code Unknown desc failed to get sandbox image "k8s.gcr.io/pause:3.2": failed to pull image "k8s.gcr.io/pause:3.2": failed to pull and unpack image "k8s.gcr.io/pause:3.2": failed…...
基于遗传算法的电器分类,基于GA的电器分类
目录 背影 遗传算法的原理及步骤 基本定义 编码方式 适应度函数 运算过程 代码 结果分析 展望 完整代码下载链接:基于遗传算法的电器识别,基于遗传算法的电器分类(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88506649 背影 电器…...
AI专著写作高效秘籍:借助AI工具,轻松搞定20万字专著撰写难题!
撰写学术专著的挑战与应对工具 撰写学术专著是一项不仅考验学术能力的工作,也对心理素质提出要求。与团队合作完成的论文不同,撰写专著通常是单干的模式。从选择课题、搭建框架到撰写内容及修改提升,各个步骤基本上都需要研究者一人完成。这…...
【音视频 | ALSA】SS528开发板ALSA驱动移植与USB音频设备调试实战
1. ALSA驱动与SS528开发板概述 在嵌入式Linux音频开发中,ALSA(Advanced Linux Sound Architecture)是当前最主流的音频驱动框架。我最近在SS528开发板上完成了一个USB音频设备的完整移植项目,整个过程涉及内核驱动编译、用户空间库…...
F5 NGINX Gateway Fabric 2.4.0 新功能发布
原文作者:Sean Moloney - F5 Product Manager原文链接:F5 NGINX Gateway Fabric 2.4.0 新功能发布转载来源:NGINX 中文社区NGINX 唯一中文官方社区 ,尽在 nginx.org.cn 我们很高兴地宣布 F5 NGINX Gateway Fabric 2.4.0 已经发布。…...
突破百度网盘限速瓶颈:Python直链解析的实战解密
突破百度网盘限速瓶颈:Python直链解析的实战解密 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾为百度网盘的下载速度而烦恼?当看到文件下载速…...
终极显卡驱动卸载指南:Display Driver Uninstaller解决驱动残留问题
终极显卡驱动卸载指南:Display Driver Uninstaller解决驱动残留问题 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers…...
Qwen3.5-9B-GGUF部署案例:出版机构AI编辑助手与稿件初筛系统实践
Qwen3.5-9B-GGUF部署案例:出版机构AI编辑助手与稿件初筛系统实践 1. 项目背景与价值 在传统出版行业,编辑团队每天需要处理大量投稿稿件,面临以下痛点: 稿件质量参差不齐,人工初筛耗时耗力编辑校对工作重复性高&…...
comsol BIC本征态计算及2019PRL论文介绍:一个支持comsol直接出图的通用算法
comsol BIC本征态计算,支持comsol直接出图。 2019PRL。 此为通用算法COMSOL这货玩本征态计算是真能整活。前阵子搞光子晶体的时候发现它的BIC(连续谱束缚态)求解功能有点东西,直接调参数就能出图。2019年PRL那篇论文里提到的通用算…...
3个步骤实现Windows窗口置顶:AlwaysOnTop提升多任务效率
3个步骤实现Windows窗口置顶:AlwaysOnTop提升多任务效率 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 当你需要同时查看多个窗口时,频繁的切换操作会打…...
PAT乙级刷题避坑指南:避开“说反话”的栈陷阱和“成绩排名”的结构体误区
PAT乙级真题高效解法:避开常见思维陷阱与代码优化实战 在准备PAT乙级考试的过程中,许多考生虽然能够完成题目要求,却常常陷入一些典型的思维陷阱和代码效率瓶颈。本文将聚焦三个经典题目("说反话"、"成绩排名"…...
AIOps(智能运维)全解
AIOps Artificial Intelligence for IT Operations,中文全称IT 运维人工智能 / 智能运维,由 Gartner 在 2016 年正式提出,是大数据 机器学习 自动化运维融合的下一代运维体系。简单一句话:用 AI 接管海量运维数据,实…...
