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

四合一网站logo生成器app

四合一网站,logo生成器app,网站建设 分类广告,公司网站的实例背景 小项目,使用RabbitMQ作为消息队列,发布到不同的新环境时,由于新搭建的MQ中不存在Exchange和Queue,就会出错,还得手动去创建,比较麻烦,于是想在代码中将这些定义好后,自动控制M…

背景

小项目,使用RabbitMQ作为消息队列,发布到不同的新环境时,由于新搭建的MQ中不存在Exchange和Queue,就会出错,还得手动去创建,比较麻烦,于是想在代码中将这些定义好后,自动控制MQ去创建。

原理与步骤

  1. 第一步定义RabbitAdmin Bean
  2. 第二步定义交换机 Bean
  3. 第三步定义Queue Bean
  4. 第四步定义Binding Bean, 这一步最关键,即将Queue与交换机

完整代码如下,定义如下代码后,即便使用新的MQ,启动项目也会自动创建,但是请注意 virtual-host 是无法被自动创建的(我目前的研究是这样,有自动创建的办法请留言告诉我,谢谢),因此如果不使用默认的virtual-host,请在MQ控制台中去创建。

package com.app.config;import org.springframework.amqp.core.*;
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @author Administrator* @date 2023/8/4 16:25* @description*/
@Configuration
public class RabbitConfig {@Autowiredprivate ConnectionFactory connectionFactory;@Beanpublic RabbitAdmin rabbitAdmin() {RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory);rabbitAdmin.setAutoStartup(true);return rabbitAdmin;}@Bean("addOrderExchange")public DirectExchange addOrderExchange() {return ExchangeBuilder.directExchange("addOrderExchange").durable(true).build();}@Bean("defaultExchange")public DirectExchange defaultExchange() {return ExchangeBuilder.directExchange("").durable(true).build();}@Bean("addEvtDayInvest")public Queue addEvtDayInvest() {Queue queue = QueueBuilder.durable("addEvtDayInvest").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("addEvtDayInvestBind")public Binding addEvtDayInvestBind() {return BindingBuilder.bind(addEvtDayInvest()).to(addOrderExchange()).with("");}@Bean("addMemberData")public Queue addMemberData() {Queue queue = QueueBuilder.durable("addMemberData").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("addMemberDataBind")public Binding addMemberDataBind() {return BindingBuilder.bind(addMemberData()).to(addOrderExchange()).with("");}@Bean("addRepaymentPlant")public Queue addRepaymentPlant() {Queue queue = QueueBuilder.durable("addRepaymentPlant").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("addRepaymentPlantBind")public Binding addRepaymentPlantBind() {return BindingBuilder.bind(addRepaymentPlant()).to(addOrderExchange()).with("");}@Bean("imQueue")public Queue imQueue() {Queue queue = QueueBuilder.durable("imQueue").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("imQueueBind")public Binding imQueueBind() {return BindingBuilder.bind(imQueue()).to(defaultExchange()).withQueueName();}@Bean("settleInterestQueue")public Queue settleInterestQueue() {Queue queue = QueueBuilder.durable("settleInterestQueue").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("settleInterestQueueBind")public Binding settleInterestQueueBind() {return BindingBuilder.bind(settleInterestQueue()).to(defaultExchange()).withQueueName();}@Bean("registerQueue")public Queue registerQueue() {Queue queue = QueueBuilder.durable("registerQueue").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("registerQueueBind")public Binding registerQueueBind() {return BindingBuilder.bind(registerQueue()).to(defaultExchange()).withQueueName();}@Bean("memberLoginLogQueue")public Queue memberLoginLogQueue() {Queue queue = QueueBuilder.durable("memberLoginLogQueue").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("memberLoginLogQueueBind")public Binding memberLoginLogQueueBind() {return BindingBuilder.bind(memberLoginLogQueue()).to(defaultExchange()).withQueueName();}@Bean("addParentDataQueue")public Queue addParentDataQueue() {Queue queue = QueueBuilder.durable("addParentDataQueue").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("addParentDataQueueBind")public Binding addParentDataQueueBind() {return BindingBuilder.bind(addParentDataQueue()).to(defaultExchange()).withQueueName();}@Bean("addOrderQueue")public Queue addOrderQueue() {Queue queue = QueueBuilder.durable("addOrderQueue").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("addOrderQueueBind")public Binding addOrderQueueBind() {return BindingBuilder.bind(addOrderQueue()).to(defaultExchange()).withQueueName();}@Bean("memberPerformanceQueue")public Queue memberPerformanceQueue() {Queue queue =  QueueBuilder.durable("memberPerformanceQueue").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("memberPerformanceQueueBind")public Binding memberPerformanceQueueBind() {return BindingBuilder.bind(memberPerformanceQueue()).to(defaultExchange()).withQueueName();}@Bean("computeExpectedIncomeQueue")public Queue computeExpectedIncomeQueue() {Queue queue = QueueBuilder.durable("computeExpectedIncomeQueue").build();rabbitAdmin().declareQueue(queue);return queue;}@Bean("computeExpectedIncomeQueueBind")public Binding computeExpectedIncomeQueueBind() {return BindingBuilder.bind(computeExpectedIncomeQueue()).to(defaultExchange()).withQueueName();}/*** 自定义 json 格式发送消息** @return*/@Beanpublic MessageConverter messageConverter() {return new Jackson2JsonMessageConverter();}}
http://www.yayakq.cn/news/990451/

相关文章:

  • 义乌网站建设技巧培训网站建设完工后在什么科目核算
  • 深圳网站制作公司专业网站网站建设安全要求
  • 免费美食网站源码wordpress缓存数据库
  • 企业网站建设套餐价格广点通广告在哪里投放广告
  • 网站上的地图代码建网站多少钱 万户
  • 网络网站建设网站代码怎么放
  • 模板云网站建设广州网站车管所
  • 怀化网站建设联系方式江岸区建设局网站
  • 龙岩网站建设专家oss做静态网站
  • 免费做一建或二建题目的网站什么是网络营销?网络营销有哪些特点?
  • 高台县建设局网站深圳公明做网站
  • 福州免费企业网站建站四川建设网官网app
  • 海关总署2018年海关网站建设成都做app定制
  • 国外好的网站空间十大耐玩手机单机游戏
  • 网站建设负责人证明霍邱县住房和城乡建设局网站
  • 中国有名的网站建设公司淘宝提货网站怎么做的
  • 设计网站作品培训网站开发公司
  • 时尚类网站设计公司高中同步测控优化设计答案
  • 基金会网站开发方案丹徒建设网官方网站
  • 有效的网站推广方式南宁建设信息网站
  • 什么事网站建设二手书交易网站开发背景分析
  • 旅游网站建设技术解决方案无代码网站开发平台
  • 做虾苗网站有哪些流程青岛网站推广招商
  • 网站建设硬件计划创办一个网站的费用
  • 网站设计步骤是什么微信公众号微网站 建设报价表
  • 微信网站跳转链接怎么做中小企业管理软件
  • 销售型网站怎么做的导购网站开发源码
  • 专业类网站浏览器谷歌手机版下载
  • 广东省建设厅官方网站网站制作收费
  • 网站安全认证多少钱嵌入式软件开发前景怎么样