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

重庆渝网站建设百度网盘app官网下载

重庆渝网站建设,百度网盘app官网下载,logo设计一键生成,旅游最新资讯发布订阅模式 一个消息可以由多个消费者消费同一个消息 消费者1和2同时消费了该消息 举例 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq …发布订阅模式 一个消息可以由多个消费者消费同一个消息 消费者1和2同时消费了该消息 举例 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq ip地址connectionFactory.setHost(localhost);//3 创建连接对象 Conection对象Connection connectionconnectionFactory.newConnection();//4 创建管道 ChanelChannel channelconnection.createChannel();//5 设置队列属性/*** 第一个参数:队列的名称* 第二个参数:队列是否要持久化* 第三个参数:是否排他性(是否在同一个Connection,如果设置为true,不同的Connection是获得不到消息的)* 第四个参数:是否自动删除消息* 第五个参数:是否要设置一些额外的参数*///channel.queueDeclare(02-work,false,false,true,null);/*** 发布订阅模式需要指定交换机和类型,不能用上面的模式* 交换机 Exchange 只负责转发消息,不具备存储消息的能力,因此如果没有任何队列与Exchange绑定* 或者没有符合路由规则的队列,那么消息会丢失* 第一个参数:交换机名字* 第二个参数:交换机类型* fanout:广播,将消息交给所有绑定到交换机的队列* direct:定向,把消息交给符合指定routing key的队列* topic:通配符,把消息交给符合routing pattern(路由模式)的队列*/channel.exchangeDeclare(03-pubsub1, fanout);//6 发送消息/*** 第一个参数:交换机名称 没有交换机就设置* 第二个参数:路由key* 第三个参数:消息属性* 第四个参数:消息内容*/channel.basicPublish(03-pubsub1,, MessageProperties.PERSISTENT_TEXT_PLAIN, hello rabbitMQ.getBytes());//7 关闭消息//channel.close();connection.close(); } 消费者1和2同时消费了该消息,比如说消息是发短信,发邮件,  那么1和发短息  2可以发邮件 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq ip地址connectionFactory.setHost(localhost);//3 创建连接对象 Conection对象Connection connectionconnectionFactory.newConnection();//4 创建管道 ChanelChannel channelconnection.createChannel();//5 设置队列属性/*** 第一个参数:队列的名称* 第二个参数:队列是否要持久化* 第三个参数:是否排他性(是否在同一个Connection,如果设置为true,不同的Connection是获得不到消息的)* 第四个参数:是否自动删除消息* 第五个参数:是否要设置一些额外的参数*///channel.queueDeclare(02-work,false,false,true,null);//channel.basicQos(1);//6 使用chanel 去 rabbitmq 获取消息进行消费/*** 第一个参数:队列的名称* 第二个参数:是否自动签收* 第三个参数:消息属性* 第四个参数:消息内容*/channel.exchangeDeclare(03-pubsub1, fanout);//绑定String queue channel.queueDeclare().getQueue();channel.queueBind(queue, 03-pubsub1, );channel.basicConsume(queue, false,new DeliverCallback(){/*** 当消息从mq 中取出来了会回调这个方法* 消费者消费消息就在这个 handle中进行处理*/Overridepublic void handle(String s, Delivery delivery){System.out.println(消费者 1 消息中的内容为:new String(delivery.getBody()));}},new CancelCallback(){/*** 当消息取消了会回调这个方法*/Overridepublic void handle(String s) throws IOException {System.out.println(111);}});//7 关闭消息 注意消费者 需要持续监听,不要关闭//channel.close();//connection.close(); } routing路由模式 就是说哪些让谁干 哪些让谁干区分出来 也可以让所有消费者都消费 选择性的让某个消费者消费,或者都消费 生产者 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq ip地址connectionFactory.setHost(localhost);//3 创建连接对象 Conection对象Connection connectionconnectionFactory.newConnection();//4 创建管道 ChanelChannel channelconnection.createChannel();//5 设置队列属性/*** 第一个参数:队列的名称* 第二个参数:队列是否要持久化* 第三个参数:是否排他性(是否在同一个Connection,如果设置为true,不同的Connection是获得不到消息的)* 第四个参数:是否自动删除消息* 第五个参数:是否要设置一些额外的参数*///channel.queueDeclare(02-work,false,false,true,null);/*** 发布订阅模式需要指定交换机和类型,不能用上面的模式* 交换机 Exchange 只负责转发消息,不具备存储消息的能力,因此如果没有任何队列与Exchange绑定* 或者没有符合路由规则的队列,那么消息会丢失* 第一个参数:交换机名字* 第二个参数:交换机类型* fanout:广播,将消息交给所有绑定到交换机的队列* direct:定向,把消息交给符合指定routing key的队列* topic:通配符,把消息交给符合routing pattern(路由模式)的队列*/channel.exchangeDeclare(04-routing1, direct);//6 发送消息/*** 第一个参数:交换机名称 没有交换机就设置* 第二个参数:路由key routing模式需要路由key* 第三个参数:消息属性* 第四个参数:消息内容*/channel.basicPublish(04-routing1,info, MessageProperties.PERSISTENT_TEXT_PLAIN, hello rabbitMQ.getBytes());//7 关闭消息//channel.close();connection.close(); } 消费者1 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq ip地址connectionFactory.setHost(localhost);//3 创建连接对象 Conection对象Connection connectionconnectionFactory.newConnection();//4 创建管道 ChanelChannel channelconnection.createChannel();//5 设置队列属性/*** 第一个参数:队列的名称* 第二个参数:队列是否要持久化* 第三个参数:是否排他性(是否在同一个Connection,如果设置为true,不同的Connection是获得不到消息的)* 第四个参数:是否自动删除消息* 第五个参数:是否要设置一些额外的参数*///channel.queueDeclare(02-work,false,false,true,null);//channel.basicQos(1);//6 使用chanel 去 rabbitmq 获取消息进行消费/*** 第一个参数:队列的名称* 第二个参数:是否自动签收* 第三个参数:消息属性* 第四个参数:消息内容*/channel.exchangeDeclare(04-routing1, direct);//绑定String queue channel.queueDeclare().getQueue();//可与绑定多个channel.queueBind(queue, 04-routing1, info);channel.queueBind(queue, 04-routing1, error);channel.queueBind(queue, 04-routing1, waring);channel.basicConsume(queue, true,new DeliverCallback(){/*** 当消息从mq 中取出来了会回调这个方法* 消费者消费消息就在这个 handle中进行处理*/Overridepublic void handle(String s, Delivery delivery){System.out.println(消费者 1 消息中的内容为:new String(delivery.getBody()));}},new CancelCallback(){/*** 当消息取消了会回调这个方法*/Overridepublic void handle(String s) throws IOException {System.out.println(111);}});//7 关闭消息 注意消费者 需要持续监听,不要关闭//channel.close();//connection.close(); } 消费者2 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq ip地址connectionFactory.setHost(localhost);//3 创建连接对象 Conection对象Connection connectionconnectionFactory.newConnection();//4 创建管道 ChanelChannel channelconnection.createChannel();//5 设置队列属性/*** 第一个参数:队列的名称* 第二个参数:队列是否要持久化* 第三个参数:是否排他性(是否在同一个Connection,如果设置为true,不同的Connection是获得不到消息的)* 第四个参数:是否自动删除消息* 第五个参数:是否要设置一些额外的参数*///channel.queueDeclare(02-work,false,false,true,null);//channel.basicQos(1);//6 使用chanel 去 rabbitmq 获取消息进行消费/*** 第一个参数:队列的名称* 第二个参数:是否自动签收* 第三个参数:消息属性* 第四个参数:消息内容*/channel.exchangeDeclare(04-routing1, direct);//绑定String queue channel.queueDeclare().getQueue();//可与绑定多个channel.queueBind(queue, 04-routing1, trace);channel.basicConsume(queue, true,new DeliverCallback(){/*** 当消息从mq 中取出来了会回调这个方法* 消费者消费消息就在这个 handle中进行处理*/Overridepublic void handle(String s, Delivery delivery){System.out.println(消费者 2 消息中的内容为:new String(delivery.getBody()));}},new CancelCallback(){/*** 当消息取消了会回调这个方法*/Overridepublic void handle(String s) throws IOException {System.out.println(111);}});//7 关闭消息 注意消费者 需要持续监听,不要关闭//channel.close();//connection.close(); } 上面的只有消费者1消费了消息  可以根据channel.queueBind(queue, 04-routing1, trace); 绑定消息  也可以让1和2都消费, topic模式和Routing模式高度相识,用通配符的形式指定让谁消费,或者都消费 生产者 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq ip地址connectionFactory.setHost(localhost);//3 创建连接对象 Conection对象Connection connectionconnectionFactory.newConnection();//4 创建管道 ChanelChannel channelconnection.createChannel();//5 设置队列属性/*** 第一个参数:队列的名称* 第二个参数:队列是否要持久化* 第三个参数:是否排他性(是否在同一个Connection,如果设置为true,不同的Connection是获得不到消息的)* 第四个参数:是否自动删除消息* 第五个参数:是否要设置一些额外的参数*///channel.queueDeclare(02-work,false,false,true,null);/*** 发布订阅模式需要指定交换机和类型,不能用上面的模式* 交换机 Exchange 只负责转发消息,不具备存储消息的能力,因此如果没有任何队列与Exchange绑定* 或者没有符合路由规则的队列,那么消息会丢失* 第一个参数:交换机名字* 第二个参数:交换机类型* fanout:广播,将消息交给所有绑定到交换机的队列* direct:定向,把消息交给符合指定routing key的队列* topic:通配符,把消息交给符合routing pattern(路由模式)的队列*/channel.exchangeDeclare(05-topic1, topic);//6 发送消息/*** 第一个参数:交换机名称 没有交换机就设置* 第二个参数:路由key routing模式需要路由key* 第三个参数:消息属性* 第四个参数:消息内容*/channel.basicPublish(05-topic1,employee.save, MessageProperties.PERSISTENT_TEXT_PLAIN, hello rabbitMQ.getBytes());//7 关闭消息//channel.close();connection.close(); } 消费者1 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq ip地址connectionFactory.setHost(localhost);//3 创建连接对象 Conection对象Connection connectionconnectionFactory.newConnection();//4 创建管道 ChanelChannel channelconnection.createChannel();//5 设置队列属性/*** 第一个参数:队列的名称* 第二个参数:队列是否要持久化* 第三个参数:是否排他性(是否在同一个Connection,如果设置为true,不同的Connection是获得不到消息的)* 第四个参数:是否自动删除消息* 第五个参数:是否要设置一些额外的参数*///channel.queueDeclare(02-work,false,false,true,null);//channel.basicQos(1);//6 使用chanel 去 rabbitmq 获取消息进行消费/*** 第一个参数:队列的名称* 第二个参数:是否自动签收* 第三个参数:消息属性* 第四个参数:消息内容*/channel.exchangeDeclare(05-topic1, topic);//绑定String queue channel.queueDeclare().getQueue();//可与绑定多个channel.queueBind(queue, 05-topic1, employee.*);channel.basicConsume(queue, true,new DeliverCallback(){/*** 当消息从mq 中取出来了会回调这个方法* 消费者消费消息就在这个 handle中进行处理*/Overridepublic void handle(String s, Delivery delivery){System.out.println(消费者 1 消息中的内容为:new String(delivery.getBody()));}},new CancelCallback(){/*** 当消息取消了会回调这个方法*/Overridepublic void handle(String s) throws IOException {System.out.println(111);}});//7 关闭消息 注意消费者 需要持续监听,不要关闭//channel.close();//connection.close(); } 消费者2 public static void main(String[] args) throws IOException, TimeoutException {//1 创建连接工厂ConnectionFactory connectionFactorynew ConnectionFactory();//2 设置rabbitmq ip地址connectionFactory.setHost(localhost);//3 创建连接对象 Conection对象Connection connectionconnectionFactory.newConnection();//4 创建管道 ChanelChannel channelconnection.createChannel();//5 设置队列属性/*** 第一个参数:队列的名称* 第二个参数:队列是否要持久化* 第三个参数:是否排他性(是否在同一个Connection,如果设置为true,不同的Connection是获得不到消息的)* 第四个参数:是否自动删除消息* 第五个参数:是否要设置一些额外的参数*///channel.queueDeclare(02-work,false,false,true,null);//channel.basicQos(1);//6 使用chanel 去 rabbitmq 获取消息进行消费/*** 第一个参数:队列的名称* 第二个参数:是否自动签收* 第三个参数:消息属性* 第四个参数:消息内容*/channel.exchangeDeclare(05-topic1, topic);//绑定String queue channel.queueDeclare().getQueue();//可与绑定多个channel.queueBind(queue, 05-topic1, user.*);channel.basicConsume(queue, true,new DeliverCallback(){/*** 当消息从mq 中取出来了会回调这个方法* 消费者消费消息就在这个 handle中进行处理*/Overridepublic void handle(String s, Delivery delivery){System.out.println(消费者 2 消息中的内容为:new String(delivery.getBody()));}},new CancelCallback(){/*** 当消息取消了会回调这个方法*/Overridepublic void handle(String s) throws IOException {System.out.println(111);}});//7 关闭消息 注意消费者 需要持续监听,不要关闭//channel.close();//connection.close(); } 结果就是消费者1消费了消息 所有工作模式总结
http://www.w-s-a.com/news/670732/

相关文章:

  • 重庆网站建设哪家公司哪家好关键词是怎么排名的
  • 青县网站建设今天国际大事新闻
  • 深圳正规网站制作哪里好怎样优化网络
  • 米拓网站建设教程dw成品网站成品视频教学
  • 用jsp做的网站源代码天门网站网站建设
  • 百度如何把网站做链接地址有没有资源可以在线观看
  • 淮安做网站找哪家好电子商务网站建设规划书的内容
  • 开发网站建设用什么框架php黄页系统
  • 聊城制作网站全球十大电商平台排名
  • 用什么来网站开发好mega menu wordpress
  • 深圳制作网站有用吗wordpress的主题
  • 网站的规划与创建天津市南开区网站开发有限公司
  • 免备案网站主机建站哪个平台好
  • python做网站 不适合单页营销分享网站
  • 珠海市研发网站建设建设网站挣钱
  • 阿里巴巴国际站特点做wps的网站赚钱
  • wordpress更换域名后网站打不开宜昌建设银行网站
  • 写出网站开发的基本流程百度网页电脑版入口
  • 网站设计有限公司怎么样网站建设西班牙语
  • 网站安全解决方案宁波seo网络推广优化价格
  • 做网站带来好处wordpress可以做oa系统吗
  • 建筑设计人才招聘网站h5营销型网站suteng
  • 做app和网站怎样如何做html网站
  • php开发手机端网站开发更换网站标题
  • 提供网站建设报价延津县建设局网站
  • 江苏网站建设流程土巴兔全包装修怎么样
  • 环保网站建设方案带漂浮广告的网站
  • 淘宝客合伙人网站建设建站前端模板
  • 网站单页模板怎么安装中世纪变装小说wordpress
  • 手机免费建设网站制作宝安第一网站