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

网站建设工具 公司模型网站

网站建设工具 公司,模型网站,比亚迪新能源汽车报价大全一览表,如何选择安卓app开发工具1.Topic模式 RabbitMQ的Topic模式是一种基于主题的消息传递模式。它允许发送者向一个特定的主题#xff08;topic#xff09;发布消息#xff0c;同时#xff0c;订阅者也可以针对自己感兴趣的主题进行订阅。 在Topic模式中#xff0c; 主题通过一个由单词和点号组成的字…1.Topic模式 RabbitMQ的Topic模式是一种基于主题的消息传递模式。它允许发送者向一个特定的主题topic发布消息同时订阅者也可以针对自己感兴趣的主题进行订阅。 在Topic模式中 主题通过一个由单词和点号组成的字符串来描述。例如“#.china”表示匹配所有以“china”为结尾的主题比如“bj.china”或“china”等。 ‘ # ’ 和 ‘ * ’ 会再后面介绍 当一个消息被发布到Topic交换机Exchange时交换机会将消息转发给所有与该主题匹配的队列。消费者即订阅者可以对队列进行绑定通过指定自己感兴趣的主题进行绑定。 通过使用Topic模式我们可以实现高度灵活的信息交换模式同时确保只有感兴趣的消费者才会收到消息提高了系统的效率和可靠性。 *匹配1个#匹配0个或多个当一个队列绑定键是#那么这个队列将接收所有数据就有点像 fanout 了如果队列绑定键当中没有#和*出现那么该队列绑定类型就是 direct 了 2. 生产者 package com.hong.rabbitmq8;import com.hong.utils.RabbitMQUtil; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel;import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map;/*** Description: Topic模式生产者* Author: hong* Date: 2024-01-16 20:09* Version: 1.0**/ public class TopicSend {private static final String EXCHANGE_NAME topic_logs;public static void main(String[] args) throws Exception {Channel channel RabbitMQUtil.getChannel();channel.exchangeDeclare(EXCHANGE_NAME, BuiltinExchangeType.TOPIC);MapString, String bindingKeyMap new HashMap();bindingKeyMap.put(quick.orange.rabbit, 被队列 Q1Q2 接收到);bindingKeyMap.put(lazy.orange.elephant, 被队列 Q1Q2 接收到);bindingKeyMap.put(quick.orange.fox, 被队列 Q1 接收到);bindingKeyMap.put(lazy.brown.fox, 被队列 Q2 接收到);bindingKeyMap.put(lazy.pink.rabbit, 虽然满足两个绑定但只被队列 Q2 接收一次);bindingKeyMap.put(quick.brown.fox, 不匹配任何绑定不会被任何队列接收到会被丢弃);bindingKeyMap.put(quick.orange.male.rabbit, 是四个单词不匹配任何绑定会被丢弃);bindingKeyMap.put(lazy.orange.male.rabbit, 是四个单词但匹配 Q2);for (Map.EntryString, String bindingKeyEntry : bindingKeyMap.entrySet()) {String bindingKey bindingKeyEntry.getKey();String message bindingKeyEntry.getValue();channel.basicPublish(EXCHANGE_NAME, bindingKey, null, message.getBytes(StandardCharsets.UTF_8));System.out.println(消息发送完成------ bindingKey message);}} }3.消费者1 package com.hong.rabbitmq8;import com.hong.utils.RabbitMQUtil; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.CancelCallback; import com.rabbitmq.client.Channel; import com.rabbitmq.client.DeliverCallback;import java.nio.charset.StandardCharsets;/*** Description: Topic模式接受者1-接收*.orange.** Author: hong* Date: 2024-01-16 20:07* Version: 1.0**/ public class TopicReceiver1 {public static final String EXCHANGE_NAME topic_logs;public static void main(String[] args) throws Exception {Channel channel RabbitMQUtil.getChannel();channel.exchangeDeclare(EXCHANGE_NAME, BuiltinExchangeType.TOPIC);String queueName Q1;channel.queueDeclare(queueName,false,false,false,null);channel.queueBind(queueName,EXCHANGE_NAME,*.orange.*);DeliverCallback deliverCallback (comsumerTag, message) - {System.out.println(接收队列: queueName ,routingKey: message.getEnvelope().getRoutingKey() ,消息: new String(message.getBody(), StandardCharsets.UTF_8));};CancelCallback cancelCallback var - {};channel.basicConsume(queueName,true,deliverCallback,cancelCallback);} }4.消费者2 package com.hong.rabbitmq8;import com.hong.utils.RabbitMQUtil; import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.CancelCallback; import com.rabbitmq.client.Channel; import com.rabbitmq.client.DeliverCallback;import java.nio.charset.StandardCharsets;/*** Description: Topic模式接受者1-接收*.*.rabbit和lazy.#* Author: hong* Date: 2024-01-16 20:07* Version: 1.0**/ public class TopicReceiver2 {public static final String EXCHANGE_NAME topic_logs;public static void main(String[] args) throws Exception {Channel channel RabbitMQUtil.getChannel();channel.exchangeDeclare(EXCHANGE_NAME, BuiltinExchangeType.TOPIC);String queueName Q2;channel.queueDeclare(queueName,false,false,false,null);channel.queueBind(queueName,EXCHANGE_NAME,*.*.rabbit);channel.queueBind(queueName,EXCHANGE_NAME,lazy.#);DeliverCallback deliverCallback (comsumerTag, message) - {System.out.println(接收队列: queueName ,routingKey: message.getEnvelope().getRoutingKey() ,消息: new String(message.getBody(), StandardCharsets.UTF_8));};CancelCallback cancelCallback var - {};channel.basicConsume(queueName,true,deliverCallback,cancelCallback);} }例子说明quick.orange.rabbit被队列 Q1Q2 接收到lazy.orange.elephant被队列 Q1Q2 接收到quick.orange.fox被队列 Q1 接收到lazy.brown.fox被队列 Q2 接收到lazy.pink.rabbit虽然满足两个绑定但只被队列 Q2 接收一次quick.brown.fox不匹配任何绑定不会被任何队列接收到会被丢弃quick.orange.male.rabbit是四个单词不匹配任何绑定会被丢弃lazy.orange.male.rabbit是四个单词但匹配 Q2
http://www.w-s-a.com/news/103786/

相关文章:

  • 医院网站官方微信精神文明建设我做服装设计师的 求推荐资源网站
  • 微信网站建设需要那些资料昆明cms模板建站
  • 安庆网站建设兼职中企动力是500强吗
  • 网站排名优化技巧基于网站的网络营销方法有哪些
  • 摄影素材网站做知识问答的网站
  • 中小企业网站建设济南兴田德润电话门店管理系统软件排行
  • 昆明工程建设信息网站柳州网站建设公司哪家好
  • 如何分析网站关键词北京门户网站网址
  • 做网站与做游戏那个好网站域名怎么起
  • 有没有做cad单的网站银行网站建设方案视频
  • 和各大网站做视频的工作高校网站群管理系统
  • 中国建设人才服务信息网是正规网站怎么注销自己名下的公司
  • 网站开发新型技术那些网站做任务领q币
  • 海口手机网站建设wordpress微支付宝
  • 做公司网站需要几天深圳自定义网站开发
  • 做网站学多长时间可以学会推广软件公司
  • 网络网站设计培训长沙建站模板大全
  • 站群搭建移动端处理器天梯图
  • 岳池发展建设集团有限公司门户网站湛江seo咨询
  • 手机网站工具关键词排名是什么意思
  • 游民星空是谁做的网站沈阳网站托管公司
  • 做网站搭建需要什么人vs2017移动网站开发
  • 购物网站开发需要什么技术怎么查看网站是否备案
  • 学做电商那个网站好网站建设投票主题
  • 中卫网站推广网络营销毕业设计做网站大小有什么要求
  • 做问卷网站义乌网站建设推广专家
  • 不会编程怎样建设网站昆明做网站哪家
  • 直播网站模板新营销平台电商网站
  • 建设部指定招标网站免费的企业查询软件
  • 做前端常用的网站及软件下载平台优化是什么意思