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

邯郸网站建设xy0310北京seo百度推广

邯郸网站建设xy0310,北京seo百度推广,建设网站收费,php 整个网站变量1. 交换机类型 Publisher:生产者,发送消息到交换机Exchange:交换机,一方面,接收生产者发送的消息。另一方面,知道如何处理消息,例如递交给某个特别队列、递交给所有队列、或是将消息丢弃。到底如…

1. 交换机类型

在这里插入图片描述

  • Publisher:生产者,发送消息到交换机
  • Exchange:交换机,一方面,接收生产者发送的消息。另一方面,知道如何处理消息,例如递交给某个特别队列、递交给所有队列、或是将消息丢弃。到底如何操作,取决于Exchange的类型。Exchange(交换机)只负责转发消息,不具备存储消息的能力,因此如果没有任何队列与Exchange绑定,或者没有符合路由规则的队列,那么消息会丢失!
  • Queue:消息队列,接收消息、缓存消息。不过队列一定要与交换机绑定
  • Consumer:消费者,订阅队列

交换机的类型有四种:

  • Fanout:广播,将消息交给所有绑定到交换机的队列。
  • Direct:订阅,基于RoutingKey(路由key)发送给订阅了消息的队列。
  • Topic:通配符订阅,与Direct类似,只不过RoutingKey可以使用通配符。
  • Headers:头匹配,基于MQ的消息头匹配,用的较少。

2. Fanout交换机

在这里插入图片描述

2.1 声明队列和交换机

添加队列fanout.queue1
在这里插入图片描述

添加队列fanout.queue2在这里插入图片描述

添加交换机harry.fanout
添加交换机
绑定队列
在这里插入图片描述

2.2 发送消息

@Test
public void testFanoutExchange() {// 交换机名称String exchangeName = "harry.fanout";// 消息String message = "hello, everyone!";rabbitTemplate.convertAndSend(exchangeName, "", message);
}

2.3 接收消息

@Component
public class FanoutConsumer {@RabbitListener(queues = "fanout.queue1")public void listenFanoutQueue1(String msg) {System.out.println("消费者1接收到Fanout消息:【" + msg + "】");}@RabbitListener(queues = "fanout.queue2")public void listenFanoutQueue2(String msg) {System.out.println("消费者2接收到Fanout消息:【" + msg + "】");}
}

3. Direct交换机

在这里插入图片描述

2.1 声明队列和交换机

添加队列direct.queue1
添加队列direct.queue2
在这里插入图片描述

添加交换机harry.direct
绑定队列
在这里插入图片描述
在这里插入图片描述

2.2 发送消息

@Test
public void testSendDirectExchange1() {// 交换机名称String exchangeName = "harry.direct";// 消息String message = "红色信息!";// 发送消息rabbitTemplate.convertAndSend(exchangeName, "red", message);
}
@Test
public void testSendDirectExchange2() {// 交换机名称String exchangeName = "harry.direct";// 消息String message = "蓝色信息!";// 发送消息rabbitTemplate.convertAndSend(exchangeName, "blue", message);
}
@Test
public void testSendDirectExchange3() {// 交换机名称String exchangeName = "harry.direct";// 消息String message = "绿色信息!";// 发送消息rabbitTemplate.convertAndSend(exchangeName, "green", message);
}

2.3 接收消息

@Component
public class FanoutConsumer {@RabbitListener(queues = "direct.queue1")public void listenDirectQueue1(String msg) {System.out.println("消费者1接收到direct.queue1的消息:【" + msg + "】");}@RabbitListener(queues = "direct.queue2")public void listenDirectQueue2(String msg) {System.out.println("消费者2接收到direct.queue2的消息:【" + msg + "】");}
}

4. Topic交换机

通配符规则:

  • #:匹配一个或多个词
  • *:匹配不多不少恰好1个词

举例:

  • item.#:能够匹配item.spu.insert 或者 item.spu
  • item.*:只能匹配item.spu
    在这里插入图片描述

2.1 声明队列和交换机

添加队列direct.queue1
添加队列direct.queue2
添加交换机harry.direct
绑定队列
在这里插入图片描述

2.2 发送消息

@Test
public void testSendTopicExchange() {// 交换机名称String exchangeName = "harry.topic";// 消息String message = "发送消息到routingKey: china.news!";// 发送消息rabbitTemplate.convertAndSend(exchangeName, "china.news", message);
}

2.3 接收消息

@Component
public class FanoutConsumer {@RabbitListener(queues = "topic.queue1")public void listenTopicQueue1(String msg) {System.out.println("消费者1接收到topic.queue1的消息:【" + msg + "】");}@RabbitListener(queues = "topic.queue2")public void listenTopicQueue2(String msg) {System.out.println("消费者2接收到topic.queue2的消息:【" + msg + "】");}
}
http://www.dtcms.com/wzjs/199854.html

相关文章:

  • 建站技巧洛阳市网站建设
  • php网站建设培训班网站推广入口
  • 做平面设计兼职的网站有哪些新开网站
  • 移动网站建设如何外贸推广
  • 公安网站后台管理系统汽车软文广告
  • 东莞市住房和城乡建设厅网站他达那非副作用太强了
  • 网站未做安全隐患检测怎么拿shell游戏推广员拉人技巧
  • 成都疫情最新数据消息怎么优化自己网站
  • 做外贸需要到外汇管理网站企点
  • 网站登录接口怎么做网站搭建详细教程
  • 做网站收会员费违法吗搜索引擎优化的办法有哪些
  • 淮阳 网站建设搜索引擎推广的关键词
  • 帝国cms网站源码seo技术培训宁波
  • 医疗网站设计图站长工具5g
  • 网站栏目结构包括哪些跨国网站浏览器
  • java网站开发ssh实例软文标题和内容
  • ac域名网站百度怎么打广告在首页
  • 永嘉哪里有做网站10种营销方法
  • 做商城网站的公司推荐网址导航推广
  • 德阳如何做百度的网站百度认证考试
  • 外链提交网站seo关键词怎么填
  • 用wordpress做广告收益seo全网推广
  • 营销型的网站企业静态网站模板
  • 城乡建设学校官方网站优化关键词哪家好
  • 宜昌网站建设多少钱代运营哪家比较可靠
  • 幼儿园网站建设建议餐饮管理培训课程
  • 企业服务建设网站长沙网络推广平台
  • 网站某个链接失效seo搜索是什么意思
  • 手机版怎么做微电影网站百度应用商店app下载
  • 中国建设报电子版在线阅读青岛关键词推广seo