• queueBind方法

package com.ghg.mq01.producer;import java.io.IOException;
import java.util.concurrent.TimeoutException;import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.MessageProperties;public class RabbitProducer {private static final String EXCHANGE_NAME = "exchange_demo";private static final String ROUTING_KEY = "routingkey_demo";private static final String QUEUR_NAME = "queue_demo";//rabbitmq的服务地址private static final String IP_ADDRESS = "10.18.200.199";//RabbitMq 服务端 默认端口号为5672private static final int PORT = 5672;//用户名private static final String USER_NAME = "root";//密码private static final String PASSWORD = "root";public static void main(String[] args) throws IOException, TimeoutException {ConnectionFactory connectionFactory = new ConnectionFactory();/*** 设置ip* port* 用户名* 密码*/connectionFactory.setHost(IP_ADDRESS);connectionFactory.setPort(PORT);connectionFactory.setUsername(USER_NAME);connectionFactory.setPassword(PASSWORD);/*** 创建连接*/Connection connection = connectionFactory.newConnection();/*** 创建信道*/Channel channel = connection.createChannel();/*** 创建一个type=direct 持久化的 非自动删除的交换器*/channel.exchangeDeclare(EXCHANGE_NAME, "direct", true, false, null);/*** 创建一个持久化 百排他的 非自动删除的队列*/channel.queueDeclare(QUEUR_NAME, true, false, false, null);/*** 将交换器与队列通过路由键绑定*/channel.queueBind(QUEUR_NAME, EXCHANGE_NAME, ROUTING_KEY);/*** 发送一条持 久化消息*/String message="Hello RabbitMq!";channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY, MessageProperties.PERSISTENT_TEXT_PLAIN , message.getBytes());/*** 关闭资源*/channel.close();connection.close();}
}
  • queueBind方法

Queue.BindOk queueBind(String queue, String exchange, String routingKey) throws IOException;Queue.BindOk queueBind(String queue, String exchange, String routingKey, Map<String, Object> arguments) throws IOException;void queueBindNoWait(String queue, String exchange, String routingKey, Map<String, Object> arguments) throws IOException;
  • queue 队列名称
  • exchange 交换器名称
  • routingKey 路由key
  • arguments 其它的一些参数
  • queueUnbind方法

Queue.UnbindOk queueUnbind(String queue, String exchange, String routingKey) throws IOException;Queue.UnbindOk queueUnbind(String queue, String exchange, String routingKey, Map<String, Object> arguments) throws IOException;

将队列与交换器解绑

  • queue 队列名称
  • exchange 交换器名称
  • routingKey 路由key
  • arguments 其它的一些参数

exchangeBind

通过,信道 将交换器与交换器绑定,

     channel.exchangeBind(destination, source, routingKey);channel.exchangeBind(destination, source, routingKey, arguments);channel.exchangeBindNoWait(destination, source, routingKey, arguments);
  • 定义
Exchange.BindOk exchangeBind(String destination, String source, String routingKey) throws IOException;Exchange.BindOk exchangeBind(String destination, String source, String routingKey, Map<String, Object> arguments) throws IOException;void exchangeBindNoWait(String destination, String source, String routingKey, Map<String, Object> arguments) throws IOException;

生产者发送消息到source交换器中,source根据路由键找到与其匹配的另一个交换器destination,并把消息转发到destination中,时而存储在destination绑定的队列queue中,

package com.ghg.mq01.producer;import java.io.IOException;
import java.util.concurrent.TimeoutException;import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;public class Test1 {private static final String EXCHANGE_NAME = "exchange_demo";private static final String ROUTING_KEY = "routingkey_demo";private static final String QUEUR_NAME = "queue_demo";//rabbitmq的服务地址private static final String IP_ADDRESS = "10.18.200.199";//RabbitMq 服务端 默认端口号为5672private static final int PORT = 5672;//用户名private static final String USER_NAME = "root";//密码private static final String PASSWORD = "root";public static void main(String[] args) throws IOException, TimeoutException {//1.创建连接工厂ConnectionFactory connectionFactory = new ConnectionFactory();connectionFactory.setHost(IP_ADDRESS);connectionFactory.setUsername(USER_NAME);connectionFactory.setPassword(PASSWORD);connectionFactory.setPort(PORT);//2.创建连接Connection connection = connectionFactory.newConnection();//3.创建信道Channel channel = connection.createChannel();//4.创建交换器channel.exchangeDeclare("source", "direct", true, false, null);channel.exchangeDeclare("destination", "fanout", true, false, null);//5. 绑定交换器channel.exchangeBind("destination", "source", "exKey");//6.创建队列channel.queueDeclare("queue", true, false, false, null);//6.发送消息channel.basicPublish("source", "exKey", null, "exToExDemo".getBytes());//7.关闭连接channel.close();connection.close();}}

RabbitMQ中queueBind和exchangeBind方法相关推荐

  1. Rabbitmq中常用的五种连接方式

    目录 前提准备 方式一:  Hello World 服务端(provider)代码 客户端(customer)代码 方式二: work(以下方式都是通过工具类来创建connection对象) 有两种方 ...

  2. rabbitmq中默认unack超时时间_RabbitMQ 与 Kafka 的技术差异以及使用注意点

    导言 作为一个有丰富经验的微服务系统架构师,经常有人问我,"应该选择RabbitMQ还是Kafka?".基于某些原因, 许多开发者会把这两种技术当做等价的来看待.的确,在一些案例场 ...

  3. Spring Boot工作笔记-RabbitMQ中Unsupported major.minor version 52.0问题

    目录 错误演示 解决方法 错误演示 字符串如下: java.lang.UnsupportedClassVersionError: com/rabbitmq/client/ConnectionFacto ...

  4. Python实现RabbitMQ中6种消息模型(转)

    RabbitMQ与Redis对比 ​ RabbitMQ是一种比较流行的消息中间件,之前我一直使用redis作为消息中间件,但是生产环境比较推荐RabbitMQ来替代Redis,所以我去查询了一些Rab ...

  5. 深入理解RabbitMQ中的prefetch_count参数

    目录 prefetch_count参数的含义 RabbitMQ客户端中prefetch_count源码跟踪 prefetch_count参数使用 prefetch_count参数最佳实践 小结 pre ...

  6. stream map方法_Java Stream中map和flatMap方法

    最近看到一篇讲stream语法的文章,学习Java中map()和flatMap()方法之间的区别. 虽然看起来这两种方法都做同样的事情,都是做的映射操作,但实际上差之毫厘谬以千里. 通过演示Demo中 ...

  7. java中json重复数据结构_JS实现去除数组中重复json的方法示例

    本文实例讲述了JS实现去除数组中重复json的方法.分享给大家供大家参考,具体如下: var array = [{"name":"123"},{"na ...

  8. 继承实现的原理、子类中调用父类的方法、封装

    一.继承实现的原来 1.继承顺序 Python的类可以继承多个类.继承多个类的时候,其属性的寻找的方法有两种,分别是深度优先和广度优先. 如下的结构,新式类和经典类的属性查找顺序都一致.顺序为D--- ...

  9. 浅谈在ASP.NET中数据有效性校验的方法

    作者:未知 作为一名程序员,一定要对自己编写的程序的健壮性负责,因此数据的校验无论在商业逻辑还是系统实现都是必不可少的部分. 我这里总结了一种自认为比较不错的asp.net(C#)的数据校验方法,如大 ...

最新文章

  1. ICML 2020: 从Alignment 和 Uniformity的角度理解对比表征学习
  2. 你拖后腿了吗?工信部发布前 11 月软件行业经济报告
  3. uniapp 获取到js文件var一个变量怎么获取到这个变量值_浅析Js中const,let,var的区别及作用域...
  4. 统信uos系统考试题_离Windows更近一步!微信Linux原生版上线:国产统信UOS系统已适配...
  5. 韦东山 IMX6ULL和正点原子_GPIO和Pinctrl子系统的使用在100ASK_IMX6ULL上机实验
  6. 邻接表存储图利用BFS遍历
  7. jq之callback
  8. JadClipse反编译工具在Eclipse中的安装
  9. 教你如何配置IIS Rewrite模块写规则
  10. C语言中各数据类型和他们对应的最大值和最小值的常量
  11. Navicat 安装过程问题总结
  12. B2B供应链电商系统平台解决方案,如何实现全网整合
  13. 程序员修炼之道-第二版
  14. SOCKS 5协议详解
  15. ​WPF CompositionTarget.Rendering和 DispatcherTimer​
  16. python如何写生日快乐说说_抖音上很火的生日句子,适合过生日发的高逼格
  17. python3根据excel表数据自动生成word格式数据报告
  18. 有道云笔记Android app离线缓存,有道云笔记文件保存在哪里在哪个路径下
  19. Java实现 LeetCode 520 检测大写字母
  20. 关于idea+mybatis+springcloud+swagger2+Apollo 踩得小坑

热门文章

  1. linux共享文件夹开机自启,ubuntu16.04.6和 18.04添加开机启动脚本,重启后自动挂载vmware的共享文件夹...
  2. 455 periodic strings
  3. 决策树-线性二分类+非线性二分类
  4. 使用Timer的缺陷
  5. vue中定义多重样式
  6. Windows与Linux之间的文件自动同步
  7. 电脑功耗测试软件_进步超乎你想象!寻找移动处理器中的 最强性能 与 最低功耗...
  8. css3 shapes是什么意思,CSS Shapes有哪些让人兴奋之处
  9. php网页输入框,php网页的输入框显示中文异常
  10. 图解法求最优解的例题_初一上学期,方程的解互为相反数,两种方法求解参数的值...