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

网站网页栅格化大梦想小程序商店

网站网页栅格化,大梦想小程序商店,wordpress升级后出错,谈谈如何建设企业人力资源网站1、 订阅模型-Fanout Fanout,也称为广播。 流程图: 在广播模式下,消息发送流程是这样的: 1) 可以有多个消费者 2) 每个消费者有自己的queue(队列) 3) 每个队列都要绑定…

1、 订阅模型-Fanout

Fanout,也称为广播。
流程图:
在这里插入图片描述

在广播模式下,消息发送流程是这样的:
1) 可以有多个消费者
2) 每个消费者有自己的queue(队列)
3) 每个队列都要绑定到Exchange(交换机)
4) 生产者发送的消息,只能发送到交换机,交换机来决定要发给哪个队列,生产者无法决定。
5) 交换机把消息发送给绑定过的所有队列
6) 队列的消费者都能拿到消息。实现一条消息被多个消费者消费

1.1、生产者

两个变化:
1) 声明Exchange,不再声明Queue
2) 发送消息到Exchange,不再发送到Queue

public class Send {private final static String EXCHANGE_NAME = "fanout_exchange_test";public static void main(String[] argv) throws Exception {// 获取到连接Connection connection = ConnectionUtil.getConnection();// 获取通道Channel channel = connection.createChannel();// 声明exchange,指定类型为fanoutchannel.exchangeDeclare(EXCHANGE_NAME, "fanout");// 消息内容String message = "Hello everyone";// 发布消息到Exchangechannel.basicPublish(EXCHANGE_NAME, "", null, message.getBytes());System.out.println(" [生产者] Sent '" + message + "'");channel.close();connection.close();}
}

1.2、消费者1

public class Recv {private final static String QUEUE_NAME = "fanout_exchange_queue_1";private final static String EXCHANGE_NAME = "fanout_exchange_test";public static void main(String[] argv) throws Exception {// 获取到连接Connection connection = ConnectionUtil.getConnection();// 获取通道Channel channel = connection.createChannel();// 声明队列channel.queueDeclare(QUEUE_NAME, false, false, false, null);// 绑定队列到交换机channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "");// 定义队列的消费者DefaultConsumer consumer = new DefaultConsumer(channel) {// 获取消息,并且处理,这个方法类似事件监听,如果有消息的时候,会被自动调用@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties, byte[] body) throws IOException {// body 即消息体String msg = new String(body);System.out.println(" [消费者1] received : " + msg + "!");}};// 监听队列,自动返回完成channel.basicConsume(QUEUE_NAME, true, consumer);}
}

1.3、 消费者2

public class Recv2 {private final static String QUEUE_NAME = "fanout_exchange_queue_2";private final static String EXCHANGE_NAME = "fanout_exchange_test";public static void main(String[] argv) throws Exception {// 获取到连接Connection connection = ConnectionUtil.getConnection();// 获取通道Channel channel = connection.createChannel();// 声明队列channel.queueDeclare(QUEUE_NAME, false, false, false, null);// 绑定队列到交换机channel.queueBind(QUEUE_NAME, EXCHANGE_NAME, "");// 定义队列的消费者DefaultConsumer consumer = new DefaultConsumer(channel) {// 获取消息,并且处理,这个方法类似事件监听,如果有消息的时候,会被自动调用@Overridepublic void handleDelivery(String consumerTag, Envelope envelope, BasicProperties properties,byte[] body) throws IOException {// body 即消息体String msg = new String(body);System.out.println(" [消费者2] received : " + msg + "!");}};// 监听队列,手动返回完成channel.basicConsume(QUEUE_NAME, true, consumer);}
}

1.4、 测试

我们应该先启动生产者,否则,先启动消费者时,由于要绑定交换机,此时,交换机并不存在所以会报错。
我们运行两个消费者,然后发送1条消息:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

http://www.yayakq.cn/news/218858/

相关文章:

  • 网站设计制作价钱株洲搜索引擎优化
  • 专业企业网站建设报价拔别人的网站做网站合法吗
  • 做图文的网站网站免费推广100种方法
  • 陵水网站建设友创科技网站开发与建设方向
  • 数据分析网站html模板下载商标注册证电子版查询
  • 网站建设仟金手指专业12仿cnzz 网站 源码
  • 宣传页面怎么制作专业网站seo推广
  • 做亚马逊运营要看哪些网站网站开发 占位符
  • 网站制作用什么编程微信官方网站登陆
  • 变化型网页网站有哪些代理公司注册变更
  • PHP网站开发常用函数汕头网站推广优化
  • 西部数码官方网站建行个人余额查询系统官网
  • 2018做技术分享网站有前景吗教育网站
  • 如何用百度云文件做网站wordpress建站和定制网站Seo
  • 自己网站建设和维护谷歌入口
  • aspcms 网站标签调用python做软件的网站
  • 网站建设及系统开发和wordpress类似的框架
  • 网站开发者所有权归属济南商务网站建设
  • 网站运营托管如何做网站图片切换
  • wordpress博客网站换域名对网站的影响
  • 网站开发项目经理职责中国建设银行互联网网站
  • 中国品牌网站官网网页搜索打不开网页
  • 沈阳旅游团购网站建设杭州好的做网站公司
  • 北海建设厅官方网站水果网络营销推广方案
  • 无锡市锡山区建设局网站it企业网站模板下载
  • 网站建设售后服务明细影响网站显示度的原因
  • 网站建设流程包括哪些系统开发流程8个步骤
  • 福建省住建厅建设网站手机版商城网站案例
  • 自适应网站设计案例潍坊市建设监理协会网站
  • 天津网站制作企业企业做网站哪家网站好