当前位置: 首页 > news >正文

RabbitMQ简单消息发送

RabbitMQ简单消息发送

简单代码实现RabbitMQ消息发送

需要的依赖

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

消息发送示例

import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
import org.springframework.amqp.rabbit.connection.Connection;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.io.IOException;
import java.util.concurrent.TimeoutException;@Slf4j
public class RabbitMQConfig2 {private static  String addresses = "localhost:5672";private static String username = "xxx";private static String password = "xxx";public static   void testSendMessage() throws IOException, TimeoutException {System.out.println("发送消息");// 1.建立连接CachingConnectionFactory factory = new CachingConnectionFactory();factory.setAddresses(addresses);factory.setUsername(username);factory.setPassword(password);factory.setVirtualHost("/");// 1.2.建立连接Connection connection = factory.createConnection();// 2.创建通道ChannelChannel channel = connection.createChannel(true);// 3.创建队列/*声明队列参数1:队列的名称 queueName参数2:队列是否支持持久化 false:不持久化处理参数3:队列是否排它:是否允许其它的connection下的channel连接参数4:是否空闲时自动删除,当最后一个consumer(消费者)断开之后,队列将自动删除。参数5:参数是rabbitmq的一个扩展,功能非常强大,基本是AMPQ中没有的。*/String queueName = "queue1";channel.queueDeclare(queueName, false, false, false, null);// 4.发送消息String message = "hello, rabbitmq!";/*发送消息:参数1:exchange 交换机 没有就设置为 "" 值就可以了参数2:routingKey 路由的key 现在没有设置key,直接使用队列的名字queueName参数3:发送数据到队列的时候,是否要带一些参数。直接赋值null即可参数4:body 向队列中发送的消息数据*/channel.basicPublish("", queueName, null, message.getBytes());System.out.println("发送消息成功:【" + message + "】");// 5.关闭通道和连接channel.close();connection.close();}}
http://www.lryc.cn/news/578323.html

相关文章:

  • Qt自定义外观详解
  • 大麦基于HarmonyOS星盾安全架构,打造全链路安全抢票方案
  • MySQL 中 InnoDB 存储引擎与 MyISAM 存储引擎的区别是什么?
  • PDFBox + Tess4J 从PDF中提取图片OCR识别文字
  • 发票PDF处理工具,智能识别合并一步到位
  • [特殊字符] 分享裂变新姿势:用 UniApp + Vue3 玩转小程序页面分享跳转!
  • .netcore+ef+redis+rabbitmq+dotcap先同步后异步再同步的方法,亲测有效
  • 植物small RNA靶基因预测软件,psRobot
  • 网络的相关概念
  • Java ArrayList顺序表 + 接口实现 + 底层
  • jQuery UI 安装使用教程
  • Electron 进程间通信(IPC)深度优化指南
  • mysql 双主集群故障修复
  • TensorFlow源码深度阅读指南
  • 清理 Docker 缓存占用
  • 第 1 课:Flask 简介与环境配置(Markdown 教案)
  • 深度解析基于贝叶斯的垃圾邮件分类
  • 如何让宿主机完全看不到Wi-Fi?虚拟机独立联网隐匿上网实战!
  • 基础算法合集-图论
  • 我认知的AI宇宙系列第三期
  • 贪心算法在C++中的应用与实践
  • 论文中用matplotlib画的图,如何保持大小一致。
  • 「Java案例」计算矩形面积
  • 嵌入式原理与应用篇---常见基础知识(10)
  • 湖北理元理律师事务所债务解法:从法律技术到生活重建
  • 大根堆加小根堆查找中位数o(N)时间复杂度
  • 【Springai】项目实战进度和规划
  • DFMEA检查表模板下载
  • PHP安装使用教程
  • js代码02