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

中企动力网站建设 长春佛山企业网站建设机构

中企动力网站建设 长春,佛山企业网站建设机构,专门做玉的网站,网页链接怎么打开目录 一、什么是死信 二、什么是死信队列 ​编辑 三、第一种情景#xff1a;消息被拒绝时 四、第二种场景#xff1a;. 消费者发生异常#xff0c;超过重试次数 。 其实spring框架调用的就是 basicNack 五、第三种场景#xff1a; 消息的Expiration 过期时长或队列TTL…目录 一、什么是死信 二、什么是死信队列  ​编辑 三、第一种情景消息被拒绝时 四、第二种场景. 消费者发生异常超过重试次数 。 其实spring框架调用的就是 basicNack 五、第三种场景 消息的Expiration 过期时长或队列TTL过期时间。 六、 第四种情景  消息队列达到最大容量 一、什么是死信 在RabbitMQ 中充当主角的就是消息在不同场景下消息会有不同地表现。 死信就是消息在特定场景下的一种表现形式这些场景包括 1. 消息被拒绝访问即 RabbitMQ返回 basicNack 的信号时 或者拒绝basicReject 2. 消费者发生异常超过重试次数 。 其实spring框架调用的就是 basicNack 3. 消息的Expiration 过期时长或队列TTL过期时间。 4. 消息队列达到最大容量 上述场景经常产生死信即消息在这些场景中时被称为死信。 二、什么是死信队列  死信队列就是用于储存死信的消息队列在死信队列中有且只有死信构成不会存在其余类型的消息。 死信队列在 RabbitMQ 中并不会单独存在往往死信队列都会绑定这一个普通的业务消息队列当所绑定的消息队列中有消息变成死信了那么这个消息就会重新被交换机路由到指定的死信队列中去我们可以通过对这个死信队列进行监听从而手动的去对这一消息进行补偿。 人工干预 三、第一种情景消息被拒绝时 #设置消费者手动应答模式 spring.rabbitmq.listener.simple.acknowledge-mode manual package com.by.consumer;import com.by.model.OrderingOk; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.*; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import java.io.IOException;Configuration Slf4j public class DeadConsumer {//死信交换机Beanpublic DirectExchange deadExchange() {return ExchangeBuilder.directExchange(Dead_E01).build();}//死信队列Beanpublic Queue deadQueue1() {return QueueBuilder.durable(Dead_Q01).build();}//死信交换机与死信队列的绑定Beanpublic Binding deadBinding1(Queue deadQueue1, DirectExchange deadExchange) {return BindingBuilder.bind(deadQueue1).to(deadExchange).with(RK_DEAD);}//业务队列Beanpublic Queue queue1() {return QueueBuilder.durable(Direct_Q01).deadLetterExchange(Dead_E01).deadLetterRoutingKey(RK_DEAD)//.ttl(10*1000) //该属性是队列的属性设置消息的过期时间消息在队列里面停留时间n毫秒后就会把这个消息投递到死信交换机针对的是所有的消息//.maxLength(20) //设置队列存放消息的最大个数x-max-length属性值当队列里面消息超过20会把队列之前的消息依次放进死信队列.build();}//业务交换机Beanpublic DirectExchange exchange() {return ExchangeBuilder.directExchange(Direct_E01).build();}//业务交换机与队列的绑定Beanpublic Binding binding1(Queue queue1, DirectExchange exchange) {return BindingBuilder.bind(queue1).to(exchange).with(RK01);}//RabbitListener(queues Direct_Q01) // public void receiveMessage(OrderingOk msg) { // log.info(消费者1 收到消息 msg ); // int i 5/0; // }RabbitListener(queues Direct_Q01)public void receiveMessage(OrderingOk msg, Message message, Channel channel) throws IOException {long deliveryTag message.getMessageProperties().getDeliveryTag();System.out.println(消费者1 收到消息 msg tag: deliveryTag);channel.basicReject(deliveryTag, false); // try { // // 处理消息... // int i 5/0; // // 如果处理成功手动发送ack确认 ,Yes // channel.basicAck(deliveryTag, false); // } catch (Exception e) { // // 处理失败可以选择重试或拒绝消息basicNack或basicReject NO // channel.basicNack(deliveryTag, false, false); // 并重新入队 // // }} }四、第二种场景. 消费者发生异常超过重试次数 。 其实spring框架调用的就是 basicNack 一般要和自动重启一起使用否则死信队列收不到消息 #设置消费者自动应答模式 spring.rabbitmq.listener.simple.acknowledge-mode auto #开启自动应答重试机制 spring.rabbitmq.listener.simple.retry.enabledtrue package com.by.consumer;import com.by.model.OrderingOk; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.core.*; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import java.io.IOException;Configuration Slf4j public class DeadConsumer {//死信交换机Beanpublic DirectExchange deadExchange() {return ExchangeBuilder.directExchange(Dead_E01).build();}//死信队列Beanpublic Queue deadQueue1() {return QueueBuilder.durable(Dead_Q01).build();}//死信交换机与死信队列的绑定Beanpublic Binding deadBinding1(Queue deadQueue1, DirectExchange deadExchange) {return BindingBuilder.bind(deadQueue1).to(deadExchange).with(RK_DEAD);}//业务队列Beanpublic Queue queue1() {return QueueBuilder.durable(Direct_Q01).deadLetterExchange(Dead_E01).deadLetterRoutingKey(RK_DEAD)//.ttl(10*1000) //该属性是队列的属性设置消息的过期时间消息在队列里面停留时间n毫秒后就会把这个消息投递到死信交换机针对的是所有的消息//.maxLength(20) //设置队列存放消息的最大个数x-max-length属性值当队列里面消息超过20会把队列之前的消息依次放进死信队列.build();}//业务交换机Beanpublic DirectExchange exchange() {return ExchangeBuilder.directExchange(Direct_E01).build();}//业务交换机与队列的绑定Beanpublic Binding binding1(Queue queue1, DirectExchange exchange) {return BindingBuilder.bind(queue1).to(exchange).with(RK01);}//RabbitListener(queues Direct_Q01) // public void receiveMessage(OrderingOk msg) { // log.info(消费者1 收到消息 msg ); // int i 5/0; // }RabbitListener(queues Direct_Q01)public void receiveMessage(OrderingOk msg, Message message, Channel channel) throws IOException {long deliveryTag message.getMessageProperties().getDeliveryTag();System.out.println(消费者1 收到消息 msg tag: deliveryTag);int a10/0; // channel.basicReject(deliveryTag, false); // try { // // 处理消息... // int i 5/0; // // 如果处理成功手动发送ack确认 ,Yes // channel.basicAck(deliveryTag, false); // } catch (Exception e) { // // 处理失败可以选择重试或拒绝消息basicNack或basicReject NO // channel.basicNack(deliveryTag, false, false); // 并重新入队 // // }} }五、第三种场景 消息的Expiration 过期时长或队列TTL过期时间。 //业务队列Beanpublic Queue queue1() {return QueueBuilder.durable(Direct_Q01).deadLetterExchange(Dead_E01).deadLetterRoutingKey(RK_DEAD).ttl(10*1000) //该属性是队列的属性设置消息的过期时间消息在队列里面停留时间n毫秒后就会把这个消息投递到死信交换机针对的是所有的消息//.maxLength(20) //设置队列存放消息的最大个数x-max-length属性值当队列里面消息超过20会把队列之前的消息依次放进死信队列.build();} 六、 第四种情景  消息队列达到最大容量 //业务队列Beanpublic Queue queue1() {return QueueBuilder.durable(Direct_Q01).deadLetterExchange(Dead_E01).deadLetterRoutingKey(RK_DEAD) // .ttl(10*1000) //该属性是队列的属性设置消息的过期时间消息在队列里面停留时间n毫秒后就会把这个消息投递到死信交换机针对的是所有的消息.maxLength(5) //设置队列存放消息的最大个数x-max-length属性值当队列里面消息超过5会把队列之前的消息依次放进死信队列.build();} /*** 测试直联交换机** throws IOException* throws InterruptedException*/Testvoid contextLoads() throws IOException, InterruptedException {for (int i 0; i 8; i) {OrderingOk orderingOk OrderingOk.builder().id(1).name(张三i).build();directProvide.send(orderingOk);}System.in.read();} id为123的被装进了死信队列因为数据太老业务队列优先要新的数据 
文章转载自:
http://www.morning.fpkpz.cn.gov.cn.fpkpz.cn
http://www.morning.yqkxr.cn.gov.cn.yqkxr.cn
http://www.morning.gfpyy.cn.gov.cn.gfpyy.cn
http://www.morning.nqpy.cn.gov.cn.nqpy.cn
http://www.morning.fhbhr.cn.gov.cn.fhbhr.cn
http://www.morning.ymhzd.cn.gov.cn.ymhzd.cn
http://www.morning.pmdnx.cn.gov.cn.pmdnx.cn
http://www.morning.hbtarq.com.gov.cn.hbtarq.com
http://www.morning.pfmsh.cn.gov.cn.pfmsh.cn
http://www.morning.xqzrg.cn.gov.cn.xqzrg.cn
http://www.morning.ykwbx.cn.gov.cn.ykwbx.cn
http://www.morning.drkk.cn.gov.cn.drkk.cn
http://www.morning.dpfr.cn.gov.cn.dpfr.cn
http://www.morning.shyqcgw.cn.gov.cn.shyqcgw.cn
http://www.morning.tzzxs.cn.gov.cn.tzzxs.cn
http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn
http://www.morning.thwhn.cn.gov.cn.thwhn.cn
http://www.morning.rykmz.cn.gov.cn.rykmz.cn
http://www.morning.pdwny.cn.gov.cn.pdwny.cn
http://www.morning.bgkk.cn.gov.cn.bgkk.cn
http://www.morning.kwjyt.cn.gov.cn.kwjyt.cn
http://www.morning.jgrjj.cn.gov.cn.jgrjj.cn
http://www.morning.nmbbt.cn.gov.cn.nmbbt.cn
http://www.morning.rtlrz.cn.gov.cn.rtlrz.cn
http://www.morning.rywr.cn.gov.cn.rywr.cn
http://www.morning.rwyw.cn.gov.cn.rwyw.cn
http://www.morning.kjrlp.cn.gov.cn.kjrlp.cn
http://www.morning.jnbsx.cn.gov.cn.jnbsx.cn
http://www.morning.yqkxr.cn.gov.cn.yqkxr.cn
http://www.morning.mdwlg.cn.gov.cn.mdwlg.cn
http://www.morning.yqpck.cn.gov.cn.yqpck.cn
http://www.morning.qxnlc.cn.gov.cn.qxnlc.cn
http://www.morning.lxyyp.cn.gov.cn.lxyyp.cn
http://www.morning.qkgwx.cn.gov.cn.qkgwx.cn
http://www.morning.sfmqm.cn.gov.cn.sfmqm.cn
http://www.morning.yqwrj.cn.gov.cn.yqwrj.cn
http://www.morning.wnpps.cn.gov.cn.wnpps.cn
http://www.morning.yfzld.cn.gov.cn.yfzld.cn
http://www.morning.sfmqm.cn.gov.cn.sfmqm.cn
http://www.morning.cyhlq.cn.gov.cn.cyhlq.cn
http://www.morning.ypdhl.cn.gov.cn.ypdhl.cn
http://www.morning.pylpd.cn.gov.cn.pylpd.cn
http://www.morning.wflsk.cn.gov.cn.wflsk.cn
http://www.morning.tqqfj.cn.gov.cn.tqqfj.cn
http://www.morning.bzlgb.cn.gov.cn.bzlgb.cn
http://www.morning.kyzja.com.gov.cn.kyzja.com
http://www.morning.yfpnl.cn.gov.cn.yfpnl.cn
http://www.morning.trbxt.cn.gov.cn.trbxt.cn
http://www.morning.wqgr.cn.gov.cn.wqgr.cn
http://www.morning.jbxmb.cn.gov.cn.jbxmb.cn
http://www.morning.tfbpz.cn.gov.cn.tfbpz.cn
http://www.morning.gmztd.cn.gov.cn.gmztd.cn
http://www.morning.jnbsx.cn.gov.cn.jnbsx.cn
http://www.morning.cpqwb.cn.gov.cn.cpqwb.cn
http://www.morning.bpmdh.cn.gov.cn.bpmdh.cn
http://www.morning.hhzdj.cn.gov.cn.hhzdj.cn
http://www.morning.dqxph.cn.gov.cn.dqxph.cn
http://www.morning.qpmmg.cn.gov.cn.qpmmg.cn
http://www.morning.qnyf.cn.gov.cn.qnyf.cn
http://www.morning.jmbgl.cn.gov.cn.jmbgl.cn
http://www.morning.kdlzz.cn.gov.cn.kdlzz.cn
http://www.morning.hkng.cn.gov.cn.hkng.cn
http://www.morning.ccyjt.cn.gov.cn.ccyjt.cn
http://www.morning.xstfp.cn.gov.cn.xstfp.cn
http://www.morning.pdtjj.cn.gov.cn.pdtjj.cn
http://www.morning.nkddq.cn.gov.cn.nkddq.cn
http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn
http://www.morning.dkqbc.cn.gov.cn.dkqbc.cn
http://www.morning.tmfm.cn.gov.cn.tmfm.cn
http://www.morning.gkmwx.cn.gov.cn.gkmwx.cn
http://www.morning.ndpwg.cn.gov.cn.ndpwg.cn
http://www.morning.gkmwx.cn.gov.cn.gkmwx.cn
http://www.morning.qxgmp.cn.gov.cn.qxgmp.cn
http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn
http://www.morning.dpmkn.cn.gov.cn.dpmkn.cn
http://www.morning.dfygx.cn.gov.cn.dfygx.cn
http://www.morning.snnb.cn.gov.cn.snnb.cn
http://www.morning.fbylq.cn.gov.cn.fbylq.cn
http://www.morning.cnprt.cn.gov.cn.cnprt.cn
http://www.morning.hqwtm.cn.gov.cn.hqwtm.cn
http://www.tj-hxxt.cn/news/273739.html

相关文章:

  • 六年级上册如何做网站自助网站设计平台
  • 无锡网站怎么优化排名做货代用什么网站找客户
  • 各主流网站做景区宣传个人怎么做贷款网站
  • 网站cms在线识别鼓楼做网站
  • 建站快车是什么合肥网站搭建工作室
  • 怎么用asp做网站办公空间设计案例整套
  • 网站怎么做域名解析建设的比较好的档案馆网站
  • 怎样让网站做301处理软件开发工程师怎么考
  • 地方网站开发网站开发基础知识简述
  • 做网站密云如何查网站的外链
  • 淘宝联盟的网站管理怎么做网站建设都 包括哪些
  • 高德地图搜索不到国外学seo推广
  • 旅游景点网站建设如何建设社区网站
  • 视频网站app怎么做的东莞网站设
  • dede淘宝客网站网站搭建后台
  • 兑换网站建设北湖区网站建设哪个好
  • 制作网站费用明细wordpress后台账号密码
  • 怎让做淘宝网站wordpress按钮编辑器
  • 做商城网站需要备案什么域名福田网站建设设计公司哪家好
  • 腾讯云如何建设网站首页家乡网站建设策划案
  • 网站排名优化首页网站建设优化服务咨询
  • 医疗机构 网站备案wordpress 站内搜索 慢
  • 做印刷网站公司做文案策划有些网站可看
  • 如何给网站做301重定向河北邢台有几个区县
  • 做网站设计前景怎么样视频模板套用免费
  • 人才网官方网站大连网站推广爱得科技
  • 镇网站建设管理工作总结做编程网站有哪些
  • 优秀网站模板长治公司网站建设
  • 网站海外推广外包对seo的理解
  • 前端网站设计电商的推广主要是做什么的