我们在rabbitmqConfig中配置队列,交换机,绑定关系的时候,启动后,我们会发现rabbitmq中并没有帮我们自动创建这些信息,那么什么时候会创建呢?就是我们连上监听rabbitmq的时候,rabbitmq发现没有这些组件就会自动创建,所以,我们可以在rabbitmqConfig中,编写一个监听方法,让rabbitmq在应用一启动的时候就可以直接创建。

@Configuration
public class RabbitmqConfig {//用于自动创建组件的方法@RabbitListener(queues = "stock.release.stock.queue")public void handle(){}/*** 使用JSON序列化机制,进行消息转换* @return*/@Beanpublic MessageConverter messageConverter() {return new Jackson2JsonMessageConverter();}/*** 库存服务默认的交换机* @return*/@Beanpublic Exchange stockEventExchange() {//String name, boolean durable, boolean autoDelete, Map<String, Object> argumentsTopicExchange topicExchange = new TopicExchange("stock-event-exchange", true, false);return topicExchange;}/*** 普通队列* @return*/@Beanpublic Queue stockReleaseStockQueue() {//String name, boolean durable, boolean exclusive, boolean autoDelete, Map<String, Object> argumentsQueue queue = new Queue("stock.release.stock.queue", true, false, false);return queue;}/*** 延迟队列* @return*/@Beanpublic Queue stockDelay() {HashMap<String, Object> arguments = new HashMap<>();arguments.put("x-dead-letter-exchange", "stock-event-exchange");arguments.put("x-dead-letter-routing-key", "stock.release");// 消息过期时间 2分钟arguments.put("x-message-ttl", 120000);Queue queue = new Queue("stock.delay.queue", true, false, false,arguments);return queue;}/*** 交换机与普通队列绑定* @return*/@Beanpublic Binding stockLocked() {//String destination, DestinationType destinationType, String exchange, String routingKey,//          Map<String, Object> argumentsBinding binding = new Binding("stock.release.stock.queue",Binding.DestinationType.QUEUE,"stock-event-exchange","stock.release.#",null);return binding;}/*** 交换机与延迟队列绑定* @return*/@Beanpublic Binding stockLockedBinding() {return new Binding("stock.delay.queue",Binding.DestinationType.QUEUE,"stock-event-exchange","stock.locked",null);}}

rabbitMq自动创建队列相关推荐

  1. Spring Boot+RocketMQ集群只会在一个Broker中创建队列

    问题: 在使用springboot集成RocketMQ Client后,开启自动创建队列,发现只会在一个Broker中创建Topic,但是在短时间内发送多条信息,就可以在集群情况下,在多个Broker ...

  2. RocketMQ3.2.2生产者发送消息自动创建Topic队列数无法超过4个

    问题现象 RocketMQ3.2.2版本,测试时尝试发送消息时自动创建Topic,设置了队列数量为8: producer.setDefaultTopicQueueNums(8); 同时设置broker ...

  3. C++创建线程实现自动保存队列中的数据

    多线程 互斥量mutex CreateMutex()函数可用来创建一个有名或无名的互斥量对象 互斥量: 采用互斥对象机制.互斥锁,像一个物件,这个物件只能同时被一个线程持有. 只有拥有互斥对象的线程才 ...

  4. RabbitMQ 死信/死信队列

    一.RabbitMQ 死信/死信队列 1.DLX Dead Letter Exchange 的缩写 DLX(Dead Letter Exchanges)死信交换,死信队列本身也是一个普通的消息队列,在 ...

  5. rabbitmq 消费端代码获取队列名称_C#调用RabbitMQ实现消息队列的示例代码

    前言 我在刚接触使用中间件的时候,发现,中间件的使用并不是最难的,反而是中间件的下载,安装,配置才是最难的. 所以,这篇文章我们从头开始学习RabbitMq,真正的从头开始. 关于消息队列 其实消息队 ...

  6. RabbitMQ 的延时队列和镜像队列原理与实战

    在阿里云栖开发者沙龙PHP技术专场上,掌阅资深后端工程师.掘金小测<Redis深度历险>作者钱文品为大家介绍了RabbitMQ的延时队列和镜像队列的原理与实践,重点比较了RabbitMQ提 ...

  7. C#调用RabbitMQ实现消息队列

    文章目录 前言 消息队列 准备工作 安装rabbitmq-server RabbitMQ应用 KibaRabbitMQSend KibaRabbitMQReceived 服务器端应用 安装Erlang ...

  8. RabbitMq(五) -- 死信队列和延迟队列

    1. 死信 1.1 死信的概念 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue ...

  9. java如何保证mq一定被消费,RabbitMQ如何保证队列里的消息99.99%被消费?

    1. 本篇概要 其实,还有1种场景需要考虑:当消费者接收到消息后,还没处理完业务逻辑,消费者挂掉了,那消息也算丢失了?,比如用户下单,订单中心发送了1个消息到RabbitMQ里的队列,积分中心收到这个 ...

最新文章

  1. mysql concat 去掉重复_mysql - concat字段具有共同的重复密钥,并删除那些重复项,从而留下一个 - 堆栈内存溢出...
  2. 让一张图片随着手指的移动而移动
  3. POJ 3241 Object Clustering(Manhattan MST)
  4. 如何从一个 C# 的 dump 中挖到机器相关的信息?
  5. 路由器装上去没有网络_5G网络那么快,今后路由器没有存在的价值了?
  6. 云开发外卖CPS小程序源码
  7. 插入移动硬盘_Win10插入移动硬盘或U盘有提示声但电脑中不显示的解决方法
  8. LeetCode题解之Single Number
  9. SparkStreaming kafka zookeeper本地环境调试安装
  10. 人工智能基础——2.3.2产生式系统
  11. 自己组装的台式电脑怎么安装系统教学
  12. java画地图_绘制地图(java代码)
  13. 华硕服务器 u盘安装系统,华硕台式机一键U盘装系统win7教程
  14. 高通ims架构android,深度揭密高通4/5G移动基带消息系统和状态机
  15. McAfee解读风险管理之道 企业安全面临新挑战
  16. 微信视频号从零到月入万元攻略
  17. 百度发展史,百度发展历程
  18. DTOJ 4745. 进制转换
  19. 杭电(杭州电子科技大学)操作系统实验二:Linux内核模块编程
  20. android日历界面的实现,自定义view之实现日历界面(二)

热门文章

  1. Cascade R-CNN的一些记录
  2. 47 求1+2+3+4+...+n
  3. 顽石系列:Java技术面试
  4. 清北学堂模拟赛d6t3 反击数
  5. 【ARM-Linux开发】内核3.x版本之后设备树机制
  6. linux终端里CTRL-Z和CTRL-C的区别
  7. 经典网页设计:10个响应式设计的国外购物网站
  8. Python学习笔记:安装python
  9. Android中添加背景音乐的两种方法
  10. Resnet的pytorch官方实现代码解读