首页 > 其他分享 >Rabbitmq消息队列:Route路由模式简单应用

Rabbitmq消息队列:Route路由模式简单应用

时间:2023-11-03 11:37:40浏览次数:39  
标签:EXCHANGE Route Rabbitmq 交换机 GetTwo channel GetOne 路由

一、生产者

  在发布订阅模式的代码基础上,进行一定的调整,将声明交换机的路由模式调整为direct路由模式

  这个时候需要用到路由key,类似于给消息用来分类的标签

  分别发送三条消息,发向GetOne、GetTwo和GetThree三个路由key:

//声明交换机(类型direct->路由模式)
channel.exchangeDeclare(EXCHANGE,"direct");
//发送消息到交换机(交换机无法持久化,如果消息没有及时接收,重启后容易丢失数据)
channel.basicPublish(EXCHANGE,"GetOne",null,"这是发送给GetOne的消息".getBytes());
channel.basicPublish(EXCHANGE,"GetTwo",null,"这是发送给GetTwo的消息".getBytes());
channel.basicPublish(EXCHANGE,"GetThree",null,"这是发送给GetThree的消息".getBytes());

二、消费者

  定义两个消费者GetOne、GetTwo,在发布订阅模式的代码基础上,进行一定的调整。

  绑定交换机时,第二个参数附加需要的路由key,如果需要绑定多个,就分多次绑定。

  GetOne绑了GetOne、GetThree两个路由key,如下:

//将队列绑定到交换机(第二个参数是路由的key,需要多个的话就绑多个)
channel.queueBind(QUEUE,EXCHANGE,"GetOne");
channel.queueBind(QUEUE,EXCHANGE,"GetThree");

  GetTwo绑了GetTwo一个路由key,如下:

//将队列绑定到交换机
channel.queueBind(QUEUE,EXCHANGE,"GetTwo");

三、运行结果

  首页也是先启动生产者,初始化需要用到的交换机test-route。

  

  先后依次启动消费者GetOne和GetTwo,再次启动生产者,结果如下:

  

  

 

标签:EXCHANGE,Route,Rabbitmq,交换机,GetTwo,channel,GetOne,路由
From: https://www.cnblogs.com/guobin-/p/17807204.html

相关文章

  • Rabbitmq消息队列:Publish/Subscribe模式简单应用
    一、生产者packagetest.publish;importcom.rabbitmq.client.Channel;importcom.rabbitmq.client.Connection;importutils.RabbitmqConUtil;publicclassGive{//定义交换机privatefinalstaticStringEXCHANGE="test-publish";publicstati......
  • Rabbitmq消息队列:Work模式简单应用
    一、生产者直接使用HelloWorld模式下的应用案例依赖和代码,将生产者Give类拷贝一份。将发送消息部分调整为遍历发送,连发10次://遍历发送多条消息for(inti=0;i<10;i++){//发送内容channel.basicPublish("",QUEUE,null,("这是第"+(i+1)+"条消息")......
  • 【H3C网络】2-疯传全网静态路由配置小技巧
    我们深信每个客户都是独一无二的,每一篇文章都是我们心血的结晶。我们不仅注重文章的内容质量,更注重与客户的沟通,以了解他们的需求和期望,从而创作出符合他们期望的文章。我们的工作团队由专业的写作人员组成,他们具有丰富的写作经验和深厚的专业知识,能够编写出各种类型和主题的文章。......
  • 关于路由的基础
    路由:是指导IP报文发送的路径信息路由器关键功能(1)检查数据包的目的地(2)确定信息源(3)发现可能的路由(4)选择最佳路由(5)验证和维护路由信息41.路由的来源(1)链路层发现的路由(2)静态路由(3)动态路由协议发现的路由路由如何生成①.直连路由 配置IP地址   端口up②.静态路由(......
  • 路由
    axum提供了常用的HTTP请求方式对应的路由,比如 get, post, put, delete 等。除此之外,axum还提供了“嵌套路由”。路由,通常和 handler(处理函数) 结合在一起。handler 是什么通常理解,handler是指接收用户的请求,并将处理结果作为响应返回给用用户的函数。它的返回值......
  • linux 安装rabbitmq流程记录
    Linux系统:CentOS7.x(如果是CentOS8.x的话,需要修改下面两个环境版本号中的el7为el8)Erlang:erlang-22.3.4.12-1.el7.x86_64.rpmRabbitMQ:rabbitmq-server-3.8.13-1.el7.noarch.rpm1安装erlangLinux系统:CentOS7.x(如果是CentOS8.x的话,需要修改下面两个环境版本号中的el7为el8......
  • 无涯教程-React Native - 路由
    在本章中,我们将了解ReactNative中的导航。步骤1-安装路由首先,我们需要安装Router路由,我们将在本章中使用ReactNativeRouterFlux,您可以在终端的项目文件夹中运行以下命令。npmireact-native-router-flux--save步骤2-应用代码由于我们希望Router处理整个应用程序......
  • 发现这个ip有bt下载,所以改路由,让其访问到一个不存在的ip上 route add
    管理员权限cmd发现这个ip有bt下载,所以改路由,让其访问到一个不存在的ip上routeadd-p195.154.181.225mask255.255.255.255127.0.0.2---------------------------------------------生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!https://pengcheng......
  • vue路由模式区别
    目的:在vue中路由模式有history和hash模式两种模式:他们的目的是为了在SPA单页面情况下,切换页面不会向后端服务器发送请求;hash模式:为以#作为分隔符,原理:通过window.location.hash获取hash值;监听hash中的hashchange事件,当URL的hash发生改变的时候,触发事件。在地......
  • vuejs3.0 从入门到精通——初始化项目——路由
    路由 VueRouter是Vue.js官方的路由管理器,它和Vue.js深度集成,用于构建单页面应用。Vue.js单页面应用是基于路由和组件映射的,路由用于配置访问路径,将组件(components)映射到路由路径(routes)。一、路由模式 VueRouter常用的两种模式是hash模式和HTML5模式,对应的创建......