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

常州做网站推广wordpress后台汉语

常州做网站推广,wordpress后台汉语,wordpress密码正确登录不了,深圳设计招聘网java实现队列和交换机的声明 在之前我们都是基于RabbitMQ控制台来创建队列、交换机。但是在实际开发时#xff0c;队列和交换机是程序员定义的#xff0c;将来项目上线#xff0c;又要交给运维去创建。那么程序员就需要把程序中运行的所有队列和交换机都写下来#xff0c;…java实现队列和交换机的声明 在之前我们都是基于RabbitMQ控制台来创建队列、交换机。但是在实际开发时队列和交换机是程序员定义的将来项目上线又要交给运维去创建。那么程序员就需要把程序中运行的所有队列和交换机都写下来交给运维。在这个过程中是很容易出现错误的。 因此推荐的做法是由程序启动时检查队列和交换机是否存在如果不存在自动创建。 3.8.1.基本API SpringAMQP提供了一个Queue类用来创建队列 SpringAMQP还提供了一个Exchange接口来表示所有不同类型的交换机 我们可以自己创建队列和交换机不过SpringAMQP还提供了ExchangeBuilder来简化这个过程 而在绑定队列和交换机时则需要使用BindingBuilder来创建Binding对象 3.8.2.fanout示例(基于Bean声明) 在consumer中创建一个类声明队列和交换机 package com.itheima.consumer.config;import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amqp.core.FanoutExchange; import org.springframework.amqp.core.Queue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class FanoutConfig {/*** 声明交换机* return Fanout类型交换机*/Beanpublic FanoutExchange fanoutExchange(){return new FanoutExchange(hmall.fanout);}/*** 第1个队列*/Beanpublic Queue fanoutQueue1(){return new Queue(fanout.queue1);}/*** 绑定队列和交换机*/Beanpublic Binding bindingQueue1(Queue fanoutQueue1, FanoutExchange fanoutExchange){return BindingBuilder.bind(fanoutQueue1).to(fanoutExchange);}/*** 第2个队列*/Beanpublic Queue fanoutQueue2(){return new Queue(fanout.queue2);}/*** 绑定队列和交换机*/Beanpublic Binding bindingQueue2(Queue fanoutQueue2, FanoutExchange fanoutExchange){return BindingBuilder.bind(fanoutQueue2).to(fanoutExchange);} }实际测试 package com.itheima.consumer.config;import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class FanoutConfiguration {/*** 声明fanout类型交换机* return*/Beanpublic FanoutExchange fanoutExchange(){// 两种声明方法都可以// return ExchangeBuilder.fanoutExchange(hmall.fanout2).build();return new FanoutExchange(hmall.fanout2);}/*** 声明默认持久化的fanout.queue3队列* return*/Beanpublic Queue fanoutQueue3(){// 两种声明方法都可以// return QueueBuilder.durable(fanout.queue3).build();return new Queue(fanout.queue3);}/*** 绑定队列和交换机* param fanoutExchange* param fanoutQueue3* return*/Beanpublic Binding fanoutBinding3(FanoutExchange fanoutExchange,Queue fanoutQueue3){return BindingBuilder.bind(fanoutQueue3).to(fanoutExchange);}/*** 声明默认持久化的fanout.queue4队列* return*/Beanpublic Queue fanoutQueue4(){// 两种声明方法都可以return QueueBuilder.durable(fanout.queue4).build(); // return new Queue(fanout.queue4);}/*** 绑定队列和交换机* return*/Beanpublic Binding fanoutBinding4(){return BindingBuilder.bind(fanoutQueue4()).to(fanoutExchange());} } 3.8.2.direct示例(基于Bean声明) direct模式由于要绑定多个KEY会非常麻烦每一个Key都要编写一个binding package com.itheima.consumer.config;import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class DirectConfig {/*** 声明交换机* return Direct类型交换机*/Beanpublic DirectExchange directExchange(){return ExchangeBuilder.directExchange(hmall.direct).build();}/*** 第1个队列*/Beanpublic Queue directQueue1(){return new Queue(direct.queue1);}/*** 绑定队列和交换机*/Beanpublic Binding bindingQueue1WithRed(Queue directQueue1, DirectExchange directExchange){return BindingBuilder.bind(directQueue1).to(directExchange).with(red);}/*** 绑定队列和交换机*/Beanpublic Binding bindingQueue1WithBlue(Queue directQueue1, DirectExchange directExchange){return BindingBuilder.bind(directQueue1).to(directExchange).with(blue);}/*** 第2个队列*/Beanpublic Queue directQueue2(){return new Queue(direct.queue2);}/*** 绑定队列和交换机*/Beanpublic Binding bindingQueue2WithRed(Queue directQueue2, DirectExchange directExchange){return BindingBuilder.bind(directQueue2).to(directExchange).with(red);}/*** 绑定队列和交换机*/Beanpublic Binding bindingQueue2WithYellow(Queue directQueue2, DirectExchange directExchange){return BindingBuilder.bind(directQueue2).to(directExchange).with(yellow);} } 3.8.4.基于注解声明 基于Bean的方式声明队列和交换机比较麻烦Spring还提供了基于注解方式来声明。 注意声明的文件是Listener下的在监听者位置声明 例如我们同样声明Direct模式的交换机和队列 RabbitListener(bindings QueueBinding(value Queue(name direct.queue1),exchange Exchange(name hmall.direct, type ExchangeTypes.DIRECT),key {red, blue} )) public void listenDirectQueue1(String msg){System.out.println(消费者1接收到direct.queue1的消息【 msg 】); }RabbitListener(bindings QueueBinding(value Queue(name direct.queue2),exchange Exchange(name hmall.direct, type ExchangeTypes.DIRECT),key {red, yellow} )) public void listenDirectQueue2(String msg){System.out.println(消费者2接收到direct.queue2的消息【 msg 】); }是不是简单多了。 再试试Topic模式 RabbitListener(bindings QueueBinding(value Queue(name topic.queue1),exchange Exchange(name hmall.topic, type ExchangeTypes.TOPIC),key china.# )) public void listenTopicQueue1(String msg){System.out.println(消费者1接收到topic.queue1的消息【 msg 】); }RabbitListener(bindings QueueBinding(value Queue(name topic.queue2),exchange Exchange(name hmall.topic, type ExchangeTypes.TOPIC),key #.news )) public void listenTopicQueue2(String msg){System.out.println(消费者2接收到topic.queue2的消息【 msg 】); }小结
http://www.dnsts.com.cn/news/4737.html

相关文章:

  • 建网站跟建网店的区别软件开发工具是什么意思
  • 网站做支付需要准备什么东西洛阳电商网站建设
  • 网站色彩搭配技巧wordpress调用指定标签
  • 上海手机网站建设报价北京高端网站建设
  • 网站备案变更主体电话做网站上海
  • 网站根目录在哪wordpress做自主外贸网站和后台费用多少
  • 网站怎么做微信登录钦州seo
  • 如何开发移动网站哪里可以接公司外包业务
  • 企业网站建设该怎么描述抚州 提供网站建站 公司
  • 专业做棋牌网站的中信建设有限责任公司总部在哪
  • 找人做网站网站网站开发与设计是什么
  • 公司宣传网站建设本科专业建设规划
  • 免费建站系统软件推广链接
  • 简答题网站建设步骤手机网站模板 html5
  • 大连公司企业网站建设网站做cpa
  • 建设个网站多少钱企业网站建设报价清单
  • 温州网站建设哪家专业阿里云建设网站好不好
  • 贾汪城乡建设局网站网站建设构架
  • 博山区住房和城乡建设局网站大家都用哪个网站做读书笔记
  • 怎么做阿里巴巴外贸网站太仓建设局网站
  • 长沙做网站找谁单页型网站
  • 临沂网站制作建设网站运营管理教材
  • 网站 视觉冲击网站备案重要吗
  • 企业网站设计制作收费软件开发可以做网站么
  • 一个人怎样做网站百度热搜榜第一
  • 建设论坛网站wordpress做的博客
  • 重庆自助企业建站模板天津地产网站建设
  • 重庆网站建设中心网站创建一般创建哪种类型
  • 选择网站做友情链接的标准一般是淘宝详情页制作
  • 建网站需要什么资料做网站项目