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

金湖建设工程质量监督网站高端网站建设公司哪里济南兴田德润实惠吗

金湖建设工程质量监督网站,高端网站建设公司哪里济南兴田德润实惠吗,北京住建网站,网站收录提交入口大全这篇文章#xff0c;主要介绍消息队列RabbitMQ七种模式之Topics主题模式。 目录 一、消息队列 1.1、主题模式#xff08;Topics#xff09; 1.2、案例代码 #xff08;1#xff09;引入依赖 #xff08;2#xff09;编写生产者 #xff08;3#xff09;编写消费… 这篇文章主要介绍消息队列RabbitMQ七种模式之Topics主题模式。 目录 一、消息队列 1.1、主题模式Topics 1.2、案例代码 1引入依赖 2编写生产者 3编写消费者 一、消息队列 1.1、主题模式Topics 前一篇文章介绍了Routing路由模式它是根据消息的唯一标识routing key路由键将其分发到不同的Queue队列里面这篇文章介绍的Topics主题模式也是需要依赖与routing key路由键来进行分发消息但是不同的是Topics主题可以采用通配符的方式来指定routing key。 Topics主题模式下它要求【routing key路由键】必须采用【多个单词】来表示每一个单词采用点好【.】分割例如【xxx.yyy.zzz】这就是三个单词分别是xxx、yyy、zzz路由键的最长长度是255bytes。 Topics主题模式支持两种通配符 星号【*】通配符只能够匹配1个单词Topics主题模式下按照点好【.】号来判断单词。井号【#】通配符匹配0个或者多个单词。 Topics主题模式大致如下所示 主题模式下每一个Queue队列能够接收到的消息类型就非常多了只要消息满足routing key的格式就会被分发到这个Queue队列里面。Topics主题模式和Routing路由模式有什么区别呢 Routing路由模式需要指定具体的routing key。Topics主题模式可以采用通配符来指定routing key如果Topics主题模式中没有使用通配符那么这个时候就相当于Routing路由模式所以Topics主题模式比Routing路由模式更加的灵活。 1.2、案例代码 1引入依赖 !-- 引入 RabbitMQ 依赖 -- dependencygroupIdcom.rabbitmq/groupIdartifactIdamqp-client/artifactIdversion5.16.0/version /dependency 2编写生产者 生产者发送消息时候设置routing key是采用【spring.xxx】格式的。 package com.rabbitmq.demo.topics;import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ConnectionFactory;/*** version 1.0.0* Date: 2023/2/25 16:23* Copyright (C) ZhuYouBin* Description: 消息生产者*/ public class Producer {public static void main(String[] args) {// 1、创建连接工厂ConnectionFactory factory new ConnectionFactory();// 2、设置连接的 RabbitMQ 服务地址factory.setHost(127.0.0.1); // 默认就是本机factory.setPort(5672); // 默认就是 5672 端口// 3、获取连接Connection connection null; // 连接Channel channel null; // 通道try {connection factory.newConnection();// 4、获取通道channel connection.createChannel();// 5、声明 Exchange如果不存在则会创建String exchangeName exchange_topics_2023;channel.exchangeDeclare(exchangeName, topic);// 6、发送消息for (int i 0; i 10; i) {// 路由键唯一标识String routingKey spring.error;if (i % 3 0) {routingKey spring.info;} else if (i % 3 1) {routingKey java.warn;}String message 这是Topics模式发送的第【 (i1) 】条【 routingKey 】消息数据;channel.basicPublish(exchangeName, routingKey, null, message.getBytes());}} catch (Exception e) {e.printStackTrace();} finally {if (null ! channel) {try {channel.close();} catch (Exception e) {}}if (null ! connection) {try {connection.close();} catch (Exception e) {}}}} }3编写消费者 消费者消费消息的时候采用Topic主题模式并且只消费routing key满足【spring.*】的消息。 package com.rabbitmq.demo.topics;import com.rabbitmq.client.*;import java.io.IOException;/*** version 1.0.0* Date: 2023/2/25 16:30* Copyright (C) ZhuYouBin* Description: 消息消费者*/ public class Consumer {public static void main(String[] args) {// 1、创建连接工厂ConnectionFactory factory new ConnectionFactory();// 2、设置连接的 RabbitMQ 服务地址factory.setHost(127.0.0.1); // 默认就是本机factory.setPort(5672); // 默认就是 5672 端口// 3、获取连接Connection connection null; // 连接Channel channel null; // 通道try {connection factory.newConnection();// 4、获取通道channel connection.createChannel();// 5、声明 Exchange如果不存在则会创建String exchangeName exchange_topics_2023;channel.exchangeDeclare(exchangeName, topic);// 6、指定需要操作的消息队列如果队列不存在则会创建String queueName queue_topics_2023;channel.queueDeclare(queueName, false, false, false, null);// 7、绑定 Exchange 和 Queue, 接收 routingKey spring.* 的消息channel.queueBind(queueName, exchangeName, spring.*);// 8、消费消息DeliverCallback callback new DeliverCallback() {public void handle(String s, Delivery delivery) throws IOException {// 接收消息System.out.println(这是接收的消息 new String(delivery.getBody()));}};channel.basicConsume(queueName, true, callback, i-{});} catch (Exception e) {e.printStackTrace();}} }运行结果如下所示 到此RabbitMQ消息队列中的Topic主题模式就介绍完啦。 综上这篇文章结束了主要介绍消息队列RabbitMQ七种模式之Topics主题模式。
http://www.w-s-a.com/news/516054/

相关文章:

  • 站酷设计网站官网入口文字设计seo网站推广工具
  • 专业移动网站建设网站建设软件dw
  • 摄影网站设计思想视觉传达毕业设计作品网站
  • 需要优化的网站有哪些设计装修app
  • 数据型网站建设东莞好的网站国外站建设价格
  • 网络营销方法有哪些举例seo应用领域有哪些
  • 建设银行官方网站官网做网站的专业叫什么
  • 矿区网站建设濮阳做网站的公司有哪些
  • 有什么网站可以自己做书甘肃建设厅网站首页
  • 门户网站建设哪专业怎么把自己做的网站登录到网上
  • 如何做网站小编餐饮业手机php网站
  • 备案 网站商城网站设计公司排名
  • 汕头做网站优化公司seo软件简单易排名稳定
  • 如何做众筹网站微网站设计平台
  • 富平做网站十堰优化seo
  • 免费网站空间可访问wordpress弹窗注册代码
  • 东莞网站建设教程南京做代账会计在哪个网站上找
  • 网站开发好了 怎么发布wordpress数据库缓存插件
  • 工业电商网站怎么配色社交网站建设平台
  • 使用pycharm网站开发建一个网站需要什么条件
  • 网站建设哪些是需要外援的问题wordpress商品展示主题
  • 定制网站开发的目的是什么wordpress 增加按钮
  • 建设单位网站经费请示wordpress模板添加授权
  • 国外的电商网站有哪些为进一步加强校园网站建设
  • 专业集团门户网站建设企业微信商城和网站建设
  • 多少钱可以做网站找网络公司做推广费用
  • python php 网站开发网络营销师是干什么的
  • 网站建设设计方案动漫制作专业学校
  • 吴江区建设用地申报网站包装设计模板设计素材
  • 快速建站的公司wordpress 元数据定义