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

网站制作公司要文化建设费做商铺最好的网站

网站制作公司要文化建设费,做商铺最好的网站,wordpress lapa,用凡科做的手机网站版死信队列 死信的概念 先从概念解释上搞清楚这个定义#xff0c;死信#xff0c;顾名思义就是无法被消费的消息#xff0c;字面意思可以这样理解#xff0c;一般来说#xff0c;producer 将消息投递到 broker 或者直接到queue 里了#xff0c;consumer 从 queue 取出消息…死信队列 死信的概念 先从概念解释上搞清楚这个定义死信顾名思义就是无法被消费的消息字面意思可以这样理解一般来说producer 将消息投递到 broker 或者直接到queue 里了consumer 从 queue 取出消息进行消费但某些时候由于特定的原因导致queue 中的某些消息无法被消费这样的消息如果没有后续的处理就变成了死信有死信自然就有了死信队列. 应用场景:为了保证订单业务的消息数据不丢失需要使用到 RabbitMQ 的死信队列机制当消息消费发生异常时将消息投入死信队列中.还有比如说: 用户在商城下单成功并点击去支付后在指定时间未支付时自动失效 造成死信的原因 消息 TTL 过期队列达到最大长度(队列满了无法再添加数据到 MQ 中)消息被拒绝(basic.reject 或 basic.nack)并且 requeuefalse. 死信架构图 代码实战 TTL过期 package com.vmware.rabbit.demo8;import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.DeliverCallback; import com.vmware.rabbit.utils.RabbitUtil;import java.util.HashMap;public class Consumer {//普通交换机private static final String NORMAL_EXCHANGE normal_exchange;//死信交换机private static final String DEAD_EXCHANGE dead_exchange;//普通队列private static final String NORMAL_QUEUE normal_queue;//死信队列private static final String DEAD_QUEUE dead_queue;public static void main(String[] args) throws Exception {Connection connection RabbitUtil.getConnection();Channel channel connection.createChannel();//创建普通队列死信分发参数HashMapString,Object arguments new HashMap();arguments.put(x-dead-letter-exchange,DEAD_EXCHANGE);arguments.put(x-dead-letter-routing-key,lisi);//创建普通交换机与队列并绑定channel.exchangeDeclare(NORMAL_EXCHANGE, BuiltinExchangeType.DIRECT);channel.queueDeclare(NORMAL_QUEUE,false,false,false,arguments);channel.queueBind(NORMAL_QUEUE,NORMAL_EXCHANGE,zhangsan);//创建死信交换机和队列并绑定channel.exchangeDeclare(DEAD_EXCHANGE,BuiltinExchangeType.DIRECT);channel.queueDeclare(DEAD_QUEUE,false,false,false,null);channel.queueBind(DEAD_QUEUE,DEAD_EXCHANGE,lisi);DeliverCallback deliverCallback (tag,msg)-{String message new String(msg.getBody());System.out.println(接收到消息:message);}};//创建消费者channel.basicConsume(NORMAL_QUEUE,false,deliverCallback,(tag)-{});} }package com.vmware.rabbit.demo8;import com.rabbitmq.client.AMQP; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.vmware.rabbit.utils.RabbitUtil;public class Producer {private static final String EXCHANGE_NAME normal_exchange;private static final String ROUTING_KEY zhangsan;public static void main(String[] args) throws Exception {Connection connection RabbitUtil.getConnection();System.out.println(已连接到RabbitMQ服务器....);Channel channel connection.createChannel();//设置超时为10秒AMQP.BasicProperties basicProperties new AMQP.BasicProperties().builder().expiration(10000).build();for (int i 0; i 10; i) {String message msg i;channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY, basicProperties, message.getBytes());System.out.println(消息:message发送成功!);}} }队列达到最大长度 package com.vmware.rabbit.demo8;import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.DeliverCallback; import com.vmware.rabbit.utils.RabbitUtil;import java.util.HashMap;public class Consumer {//普通交换机private static final String NORMAL_EXCHANGE normal_exchange;//死信交换机private static final String DEAD_EXCHANGE dead_exchange;//普通队列private static final String NORMAL_QUEUE normal_queue;//死信队列private static final String DEAD_QUEUE dead_queue;public static void main(String[] args) throws Exception {Connection connection RabbitUtil.getConnection();Channel channel connection.createChannel();//创建普通队列死信分发参数HashMapString,Object arguments new HashMap();arguments.put(x-dead-letter-exchange,DEAD_EXCHANGE);arguments.put(x-dead-letter-routing-key,lisi);//设置队列最大长度arguments.put(x-max-length,5);//创建普通交换机与队列并绑定channel.exchangeDeclare(NORMAL_EXCHANGE, BuiltinExchangeType.DIRECT);channel.queueDeclare(NORMAL_QUEUE,false,false,false,arguments);channel.queueBind(NORMAL_QUEUE,NORMAL_EXCHANGE,zhangsan);//创建死信交换机和队列并绑定channel.exchangeDeclare(DEAD_EXCHANGE,BuiltinExchangeType.DIRECT);channel.queueDeclare(DEAD_QUEUE,false,false,false,null);channel.queueBind(DEAD_QUEUE,DEAD_EXCHANGE,lisi);DeliverCallback deliverCallback (tag,msg)-{String message new String(msg.getBody());System.out.println(消息:message被拒绝);};//创建消费者channel.basicConsume(NORMAL_QUEUE,false,deliverCallback,(tag)-{});} }package com.vmware.rabbit.demo8;import com.rabbitmq.client.AMQP; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.vmware.rabbit.utils.RabbitUtil;public class Producer {private static final String EXCHANGE_NAME normal_exchange;private static final String ROUTING_KEY zhangsan;public static void main(String[] args) throws Exception {Connection connection RabbitUtil.getConnection();System.out.println(已连接到RabbitMQ服务器....);Channel channel connection.createChannel();for (int i 0; i 10; i) {String message msg i;channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY, null, message.getBytes());System.out.println(消息:message发送成功!);}} }消息被拒 package com.vmware.rabbit.demo8;import com.rabbitmq.client.BuiltinExchangeType; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.DeliverCallback; import com.vmware.rabbit.utils.RabbitUtil;import java.util.HashMap;public class Consumer {//普通交换机private static final String NORMAL_EXCHANGE normal_exchange;//死信交换机private static final String DEAD_EXCHANGE dead_exchange;//普通队列private static final String NORMAL_QUEUE normal_queue;//死信队列private static final String DEAD_QUEUE dead_queue;public static void main(String[] args) throws Exception {Connection connection RabbitUtil.getConnection();Channel channel connection.createChannel();//创建普通队列死信分发参数HashMapString,Object arguments new HashMap();arguments.put(x-dead-letter-exchange,DEAD_EXCHANGE);arguments.put(x-dead-letter-routing-key,lisi);//创建普通交换机与队列并绑定channel.exchangeDeclare(NORMAL_EXCHANGE, BuiltinExchangeType.DIRECT);channel.queueDeclare(NORMAL_QUEUE,false,false,false,arguments);channel.queueBind(NORMAL_QUEUE,NORMAL_EXCHANGE,zhangsan);//创建死信交换机和队列并绑定channel.exchangeDeclare(DEAD_EXCHANGE,BuiltinExchangeType.DIRECT);channel.queueDeclare(DEAD_QUEUE,false,false,false,null);channel.queueBind(DEAD_QUEUE,DEAD_EXCHANGE,lisi);DeliverCallback deliverCallback (tag,msg)-{String message new String(msg.getBody());if (message.equals(msg5)){System.out.println(消息:message被拒绝);channel.basicReject(msg.getEnvelope().getDeliveryTag(),false);}else {System.out.println(接收到消息:message);channel.basicAck(msg.getEnvelope().getDeliveryTag(),false);}};//创建消费者channel.basicConsume(NORMAL_QUEUE,false,deliverCallback,(tag)-{});} }package com.vmware.rabbit.demo8;import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.DeliverCallback; import com.vmware.rabbit.utils.RabbitUtil;public class Consumer2 {private static final String DEAD_QUEUE_NAME dead_queue;public static void main(String[] args)throws Exception {Connection connection RabbitUtil.getConnection();Channel channel connection.createChannel();DeliverCallback deliverCallback(tag,msg)-{String message new String(msg.getBody());System.out.println(队列:DEAD_QUEUE_NAME\t收到消息:message);};channel.basicConsume(DEAD_QUEUE_NAME,true,deliverCallback,(tag)-{});} }package com.vmware.rabbit.demo8;import com.rabbitmq.client.AMQP; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.vmware.rabbit.utils.RabbitUtil;public class Producer {private static final String EXCHANGE_NAME normal_exchange;private static final String ROUTING_KEY zhangsan;public static void main(String[] args) throws Exception {Connection connection RabbitUtil.getConnection();System.out.println(已连接到RabbitMQ服务器....);Channel channel connection.createChannel();for (int i 0; i 10; i) {String message msg i;channel.basicPublish(EXCHANGE_NAME, ROUTING_KEY, null, message.getBytes());System.out.println(消息:message发送成功!);}} }
http://www.hkea.cn/news/14589067/

相关文章:

  • 网站建设特效大全平面设计接单渠道有哪些
  • 企业网站备案网址有什么网站可以做编程题
  • 商务型企业网站建设企业网银app下载
  • 网站与网页设计教程制作微信公众号的软件
  • 网站建设的意思揭秘杭州亚运会开幕式亮点
  • 团购网站 网上 收费 系统可以让网友帮做任务的网站
  • 网站建设课长沙专业网站建设.
  • 餐饮品牌设计网站石家庄网站建设策划方案
  • 主流网站开发语言用网站做的简历
  • 南宁在哪里可以做网站wordpress 下工具下载
  • 怎样做才能让网站有排名苏州城乡建设局的网站首页
  • 看优秀摄影做品的网站网站界面设计修改要多少钱
  • 网站seo是什么网站后台制作视频教程
  • 手机网站建设平台合同优化网站的步骤
  • 如何让移动网站更优秀推广引流渠道有哪些
  • 网站维护需要什么技能用什么软件可以制作图片
  • 怎么用网站做调查表电子商务网站的作用
  • 站长工具seo综合查询隐私查询导航用asp做的网站如何发布
  • 建网站教程视频下载wordpress 评论ajax分页
  • 网站由哪三部分组成巨量算数关键词查询
  • 怎么打开文件做的网站编写html的软件有哪些
  • 怎么做自己的优惠券网站做网站营销
  • 域名网站注册最划算浦东新区办营业执照哪里办
  • 电子商城网站开发与设计网站建设开发感悟
  • 陕西城乡建设局网站宝贝我想跟你做网站
  • 成都网站设计服务网站开发英语英语
  • ai做网站页面建多大的建站外贸企业官网推广
  • 建设工程人员锁定网站初中做网站的软件
  • 自己做网站如何赚钱市级档案网站建设情况分析
  • 做团购网站学校的二级网站怎么建设