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

网站怎么做外链知乎徐州建设安全监督网站

网站怎么做外链知乎,徐州建设安全监督网站,站酷海报设计图片,广州南沙建设交通网站官网地址#xff1a; Messaging that just works — RabbitMQ 我的Docker博客:Docker-CSDN博客 1.结构 其中包含几个概念#xff1a; **publisher**#xff1a;生产者#xff0c;也就是发送消息的一方 **consumer**#xff1a;消费者#xff0c;也就是消费消息的一方 …官网地址 Messaging that just works — RabbitMQ 我的Docker博客:Docker-CSDN博客 1.结构 其中包含几个概念 **publisher**生产者也就是发送消息的一方 **consumer**消费者也就是消费消息的一方 **queue**队列存储消息。生产者投递的消息会暂存在消息队列中等待消费者处理 **exchange**交换机负责消息路由。生产者发送的消息由交换机决定投递到哪个队列。 **virtual host**虚拟主机起到数据隔离的作用。每个虚拟主机相互独立有各自的exchange、queue 2.Docker安装 基于Docker来安装RabbitMQ使用下面的命令即可 docker run \-e RABBITMQ_DEFAULT_USERuser1 \-e RABBITMQ_DEFAULT_PASS123 \-v mq-plugins:/plugins \--name mq \--hostname mq \-p 15672:15672 \-p 5672:5672 \--network n1 \-d \rabbitmq:3.8-management root 是 你设置的用户名 123是你设置的密码 n1是你自定义的网络 可以看到在安装命令中有两个映射的端口 15672RabbitMQ提供的管理控制台的端口 5672RabbitMQ的消息发送处理接口 安装完成后我们访问 http://192.168.150.101:15672http://192.168.48.129:15672/http://192.168.150.101:15672即可看到管理控制台。首次访问需要登录默认的用户名和密码在配置文件中已经指定了。 注意网址中的192.168.48.129要改成你自己虚拟机的 3.后端 3.1引入依赖 !--AMQP依赖包含RabbitMQ--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependency 3.2yml spring:rabbitmq:host: 192.168.48.129port: 5672virtual-host: /username: user1password: 123listener:simple:prefetch: 1 3.3.1.Bean的方式声明队列和交换机 新建一个config类 用fanout类型的交换机来做例子 下面的代码会生成一个交换机 import org.springframework.amqp.core.*; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class DirectConfig {//声明交换机Beanpublic FanoutExchange fanoutExchange(){return new FanoutExchange(a.fanout);}//创建1个队列Beanpublic Queue fanoutQueue1(){return new Queue(fanout.queue1);}//绑定队列和交换机Beanpublic Binding bindingQueue1(Queue fanoutQueue1, FanoutExchange fanoutExchange){return BindingBuilder.bind(fanoutQueue1).to(fanoutExchange);}} 接收并处理 写在业务里 import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.ExchangeTypes; import org.springframework.amqp.rabbit.annotation.Exchange; import org.springframework.amqp.rabbit.annotation.Queue; import org.springframework.amqp.rabbit.annotation.QueueBinding; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component;Slf4j Component public class MqListener {//业务逻辑RabbitListener(queues fanout.queue1)public void listenFanoutQueue1(String msg) throws InterruptedException {System.out.println(消费者1 收到了 fanout.queue1的消息【 msg 】);}} 测试类 Testvoid test(){String queuename hmall.fanout1;String message hello, amqp!;rabbitTemplate.convertAndSend(queuename, null,message);} 3.3.2基于注解声明交换机和队列 不用再在配置类里去声明了,直接业务里用注解一同声明交换机和队列了 这里用direct类型的交换机来做例子 下面代码会创建一个交换机b.direct和两个队列direct.queue1,direct.queue2 import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.ExchangeTypes; import org.springframework.amqp.rabbit.annotation.Exchange; import org.springframework.amqp.rabbit.annotation.Queue; import org.springframework.amqp.rabbit.annotation.QueueBinding; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component;import java.util.Map;Slf4j Component public class MqListener {RabbitListener(bindings QueueBinding(value Queue(name direct.queue1, durable true),exchange Exchange(name b.direct, type ExchangeTypes.DIRECT),key {red, blue}))public void listenDirectQueue1(String msg) throws InterruptedException {System.out.println(消费者1 收到了 direct.queue1的消息【 msg 】);}RabbitListener(bindings QueueBinding(value Queue(name direct.queue2, durable true),//队列名,是否持久化//交换机名,交换机类型 exchange Exchange(name b.direct, type ExchangeTypes.DIRECT),//direct类型交换机需要传的keykey {red, yellow}))public void listenDirectQueue2(String msg) throws InterruptedException {System.out.println(消费者2 收到了 direct.queue2的消息【 msg 】);} } 测试类 Testvoid testSendDirect() {String exchangeName b.direct;String msg 蓝色通知;rabbitTemplate.convertAndSend(exchangeName, blue, msg);} Testvoid testSendDirect2() {String exchangeName b.direct;String msg 红色通知;rabbitTemplate.convertAndSend(exchangeName, red, msg);} Testvoid testSendDirect3() {String exchangeName b.direct;String msg 黄色通知;rabbitTemplate.convertAndSend(exchangeName, yellow, msg);}
http://www.yayakq.cn/news/3668/

相关文章:

  • 购物网站详细设计成都百度竞价推广
  • 网站开发课程昆明seo网站建设
  • 温州网站建设icp备免费1级做爰片打网站
  • 北京h5网站建设报价wordpress step 2
  • 门户网站怎么做优化Wordpress的未来
  • 企业中英文网站开发做网络推广可以通过哪些渠道推广
  • 盐城网站建设哪家快做百度移动网站优化排
  • 网站开发与部署高端大气企业网站
  • 提供佛山顺德网站建设包商科技wordpress
  • 开福区互动网站建设成都网站建设网络
  • 曲靖网站开发微信商城小程序怎么开通
  • 网站设计部浙江高端网站
  • 国外 网站 欣赏软件开发工作
  • 个人网站推广广西住房和城乡建设厅三类人员继续教育
  • 深圳网站建设 卓越迈建设企业网站下载
  • 河南省建设厅官方网站电脑版百度
  • 国外外包网站画册设计1p一般多少钱
  • 西安建设学院网站南山网站设计电话
  • 湖南省百川电力建设有限公司网站wordpress留言代码
  • wordpress共用用户多站点杭州做公司网站哪家好
  • 门户网站兴化建设局网站建设中最基本的决策
  • 新建文档怎么做网站网站建设的目的及功能定位是啥
  • 电脑做服务器发布网站淮南市城乡建设档案馆网站
  • 做网站好用的cms上饶做网站哪家好
  • 网站建设需要用到哪些软件python可以自学吗
  • asp源码打开网站网站开发公司取名
  • 医药电子商务网站建设南京网站建站公司
  • 做的时间长的网站制作公司哪家好郑州做网站的大公司
  • 网站建设项目数网页跳转到其它网站
  • 长沙找人做网站温岭app开发公司