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

织梦视频资讯网站源码常州的网站建设

织梦视频资讯网站源码,常州的网站建设,什么是电子商务运营,广州增城做网站1. 消费者确认机制 没有ack#xff0c;mq就会一直保留消息。 spring:rabbitmq:listener:simple:acknowledge-mode: auto # 自动ack2. 失败重试机制 当消费者出现异常后#xff0c;消息会不断requeue#xff08;重入队#xff09;到队列#xff0c;再重新发送给消费者。… 1. 消费者确认机制 没有ackmq就会一直保留消息。 spring:rabbitmq:listener:simple:acknowledge-mode: auto # 自动ack2. 失败重试机制 当消费者出现异常后消息会不断requeue重入队到队列再重新发送给消费者。如果消费者再次执行依然出错消息会再次requeue到队列再次投递直到消息处理成功为止。 极端情况就是消费者一直无法执行成功那么消息requeue就会无限循环导致mq的消息处理飙升带来不必要的压力。 spring:rabbitmq:listener:simple:retry:enabled: true # 开启消费者失败重试initial-interval: 1000ms # 初识的失败等待时长为1秒multiplier: 1 # 失败的等待时长倍数下次等待时长 multiplier * last-intervalmax-attempts: 3 # 最大重试次数stateless: true # true无状态false有状态。如果业务中包含事务这里改为false重启consumer服务重复之前的测试。可以发现 消费者在失败后消息没有重新回到MQ无限重新投递而是在本地重试了3次本地重试3次以后抛出了AmqpRejectAndDontRequeueException异常。查看RabbitMQ控制台发现消息被删除了说明最后SpringAMQP返回的是reject 结论 开启本地重试时消息处理过程中抛出异常不会requeue到队列而是在消费者本地重试重试达到最大次数后Spring会返回reject消息会被丢弃 3. 失败处理策略 在之前的测试中本地测试达到最大重试次数后消息会被丢弃。这在某些对于消息可靠性要求较高的业务场景下显然不太合适了。 因此Spring允许我们自定义重试次数耗尽后的消息处理策略这个策略是由MessageRecovery接口来定义的它有3个不同实现 RejectAndDontRequeueRecoverer重试耗尽后直接reject丢弃消息。默认就是这种方式ImmediateRequeueMessageRecoverer重试耗尽后返回nack消息重新入队RepublishMessageRecoverer重试耗尽后将失败消息投递到指定的交换机 比较优雅的一种处理方案是RepublishMessageRecoverer失败后将消息投递到一个指定的专门存放异常消息的队列后续由人工集中处理。 代码 import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amqp.core.DirectExchange; import org.springframework.amqp.core.Queue; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.rabbit.retry.MessageRecoverer; import org.springframework.amqp.rabbit.retry.RepublishMessageRecoverer; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration ConditionalOnProperty(name spring.rabbitmq.listener.simple.retry.enabled, havingValue true) public class ErrorMessageConfiguration { // RabbitListener(bindings QueueBinding( // value Queue(name error.queue), // exchange Exchange(name error.direct, type ExchangeTypes.DIRECT), // key {error} // )) // public void bings(Object msg){ // System.out.println(异常msg.toString()); // }Beanpublic DirectExchange errorMessageExchange(){return new DirectExchange(error.direct);}Beanpublic Queue errorQueue(){return new Queue(error.queue, true);}Beanpublic Binding errorBinding(Queue errorQueue, DirectExchange errorMessageExchange){return BindingBuilder.bind(errorQueue).to(errorMessageExchange).with(error);}Beanpublic MessageRecoverer messageRecoverer(RabbitTemplate rabbitTemplate) {return new RepublishMessageRecoverer(rabbitTemplate, error.direct, error);} }
http://www.hkea.cn/news/14488334/

相关文章:

  • 网站名称备案以小说名字做网站的小说网
  • 常州网站建设大全沧州网络公司排名
  • 电子商务网站建设规划的内容屏蔽蜘蛛抓取 对网站有什么影响
  • 鹤山网站建设常用的北京文化馆设计公司
  • 绍兴网站推广排名国家住房和城乡建设局网站
  • 建网站怎么起名字国内做的好的电商网站有哪些
  • cdr 做网站页面如何做网站淘宝客
  • 长春网站建设模板样式免费域名的申请方法
  • wordpress资讯站模板网上购物系统建设
  • 经营网站如何挣钱菊子曰 wordpress
  • 怎么seo网站关键词优化酒店网站的建设方案
  • 视频教学互动网站建设上海自建站招聘
  • 如何免费建个人网站网站商城运营模式
  • 外贸网站搭建难不难自动打开多个同网站网页
  • 手机网站html代码工程承包网站哪个好?
  • 网站建设费大概多少钱在线做抽奖网站
  • 不懂外贸做外贸网站好做吗做导航网站把别人的网址链接过来要经过允许吗
  • 网站制作自学百度云如何开一家公司流程
  • 天津市北辰区建设与管理局网站WordPress动态背景图
  • 营销型网站建设 合肥微官网是小程序吗
  • 南京建设网站公司店铺设计叫什么
  • 动易网站 青春营销型网站的设计框架
  • 珠海专业网站制作平台网站建设自学 优帮云
  • 网站忘记密码功能国内网站建设网站排名
  • 做爰全过程网站免费的视频那里有做网站的
  • 东莞市研发网站建设品牌网站专题模板
  • 网站建设公司赚钱网站制作加教程视频教程
  • 营销型网站外包宣传册设计与制作价格
  • 有域名之后怎么做网站杭州网络科技设计中心
  • wordpress数据库修改密码企业网站优化内容