程序启动 rabbitMq创建交换机,队列绑定交换机,以及设置绑定规则
时间:2021-07-16
本文章向大家介绍程序启动 rabbitMq创建交换机,队列绑定交换机,以及设置绑定规则,主要包括程序启动 rabbitMq创建交换机,队列绑定交换机,以及设置绑定规则使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
package application.config.rabbit; import application.config.CommonConfig; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.*; import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.listener.RabbitListenerContainerFactory; import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * 交换机配置类 * * @author * @date 2021/1/18/0018 15:17 */ @Configuration @Slf4j public class RabbitMqConfig { @Bean public RabbitListenerContainerFactory<?> rabbitListenerContainerFactory(ConnectionFactory connectionFactory) { SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); factory.setConnectionFactory(connectionFactory); factory.setMessageConverter(new Jackson2JsonMessageConverter()); factory.setAcknowledgeMode(AcknowledgeMode.MANUAL); return factory; } //*******************用户【刷脸】,企业相关交换机
//bean的名称自定义约束好即可,
// MqConfigConstants.EXCHANGE_ACCOUNT 常量的名字自定义也可
@Bean("accountExchange") public TopicExchange accountExchange() { return new TopicExchange(MqConfigConstants.EXCHANGE_ACCOUNT, true, false); } @Bean("companyExchange") public TopicExchange companyExchange() { return new TopicExchange(MqConfigConstants.EXCHANGE_COMPANY, true, false); } //*************************[刷脸]用户、企业队列 @Bean public Queue faceQueue() { //队列持久 return new Queue(MqConfigConstants.FACE_STATUS_CHANGE_KEY_PRE_PASS, true); } @Bean public Queue accountQueue() { return new Queue(MqConfigConstants.ACCOUNT_STATUS_CHANGE_KEY_PRE, true); } @Bean public Queue companyQueue() { return new Queue(MqConfigConstants.COMPANY_STATUS_CHANGE_KEY_PRE_PASS, true); } //****************************绑定 // 刷脸[绑定规则可以具体到某一个值 如 face.status.0这种绑定的为0的数据,如果想模糊绑定 face.status.* 或者face.status.# #匹配的是当前和子类]
// 用户 。企业 @Bean public Binding bindingFacePass() { return BindingBuilder.bind(faceQueue()). to(accountExchange()) .with("绑定规则"); } @Bean public Binding bindingFaceFail() { return BindingBuilder.bind(faceQueue()). to(accountExchange()) .with("绑定规则" ); } @Bean public Binding bindingAccountPass() { return BindingBuilder.bind(accountQueue()). to(accountExchange()) .with("绑定规则"); } @Bean public Binding bindingAccountFail() { return BindingBuilder.bind(accountQueue()). to(accountExchange()) .with("绑定规则"); } @Bean public Binding bindingCompanyPass() { return BindingBuilder.bind(companyQueue()). to(companyExchange()) .with("绑定规则"); } @Bean public Binding bindingCompanyFail() { return BindingBuilder.bind(companyQueue()). to(companyExchange()) .with("绑定规则"); } }
原文地址:https://www.cnblogs.com/woshuaile/p/15020865.html
- hdu 4034 Graph (floyd的深入理解)
- hdu 4033Regular Polygon(二分+余弦定理)
- Debian8配置SSH允许root登陆
- hdu 4405Aeroplane chess(概率DP)
- hdu 3853LOOPS (概率DP)
- cf(#div1 B. Dreamoon and Sets)(数论)
- hdu 1805Expressions(二叉树构造的后缀表达式)
- 清空messages没有权限的解决方法
- hdu1710(Binary Tree Traversals)(二叉树遍历)
- 基本线程同步(一) 同步方法
- uva514(trail)(模拟栈)
- zoj3822 Domination(概率dp)
- Veeam Backup & Replication(三):创建备份与还原备份
- 使用Go开发一个简单的服务器程序
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- LeetCode - 198 简单动态规划 打家劫舍
- Jaskson精讲第7篇-JsonTypeInfo注解在类继承关系下的使用
- 《剑指Offer 1.二维数组中的查找》2019-03-25
- Elasticsearch:Dynamic mapping
- 设计模式《单例设计模式》
- 《0-1 背包问题》
- 使用分治思想 求数组中的最大和最小值
- python 入门笔记[语法基础(下)]
- Java 成员变量和属性的区别
- xmuC语言程序实践week 1 大作业
- 《01-背包问题-点菜》
- 模拟赛 2018 Benelux Algorithm Programming Contest (BAPC 18)(部分题)
- vue动态生成表单组件vue-form-maker
- 对顶堆求区间k小(大)数
- 祖传快读快写模板