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

百度上的网站怎么做wordpress微信插件开发

百度上的网站怎么做,wordpress微信插件开发,wordpress文章图片批量删除,对接空间站1. 简介 在前面的高级特性中#xff0c;我们介绍了重试机制和 TTL#xff0c;那么产生下列问题#xff1a; 在重试机制中#xff0c;当消费者消费消息发生异常时#xff0c;会触发消息重发机制#xff0c;由于我们配置了最大的重发次数#xff0c;那么当超过这个次数后…1. 简介 在前面的高级特性中我们介绍了重试机制和 TTL那么产生下列问题 在重试机制中当消费者消费消息发生异常时会触发消息重发机制由于我们配置了最大的重发次数那么当超过这个次数后若消息依然没有被成功消费就需要将消息进行保存等待下一次消费那么这条消息应该保存到哪里去呢在 TTL 机制中我们为队列和消息设置了过期时间当超过这个时间后消息就会被删除但是这条消息是需要被消费的于是就需要将过期的消息保存下来等待下次消费。但是消息应该保存到哪里去呢 在 RabbitMQ 中将类似于结果的消息称为死信那么就涉及到变成死信的消息应该存储到哪里去 2. 会产生死信的场景 消息重发后次数到达指定重发次数依然未被消费就会成为死信消息到达过期时间依然没有被消费就会成为死信队列已经满了却依然由消息入队列就会产生溢出溢出的这部分消息就会成为死信 3. 死信队列 在 RabbitMQ 中可以声明一个队列这个队列专门用来存放死信于是就成为死信队列。 死信队列的工作流程如下 首先需要声明一个死信交换机与普通队列进行绑定其次需要声明一个死信队列与死信交换机进行绑定当普通队列中的消息成为死信后就会被发送给死信交换机然后由死信交换机分配给与之绑定的死信队列存储在死信队列中的死信会等待被别的消费者再次消费。 4. 配置死信交换机与死信队列 声明一个正常交换机正常队列死信交换机死信队列并将正常交换机与正常队列进行绑定将正常队列与死信交换机进行绑定将死信交换机与死信队列进行绑定代码如下 Configuration public class DLConfig {/*** 正常* return*/Bean(norQueue)public Queue norQueue() {return QueueBuilder.durable(Constants.NOR_QUEUE).ttl(10000) //过期时间 10s.deadLetterExchange(Constants.DL_EXCHANGE) //绑定死信交换机.deadLetterRoutingKey(Constants.DL_ROUTINGKEY).maxLength(10L) //队列长度为 10.build();}Bean(norExchange)public DirectExchange norExchange() {return ExchangeBuilder.directExchange(Constants.NOR_EXCHANGE).build();}Bean(norBind)public Binding norBind(Qualifier(norExchange) DirectExchange directExchange,Qualifier(norQueue) Queue queue) {return BindingBuilder.bind(queue).to(directExchange).with(Constants.NOR_ROUTINGKEY);}/*** 死信*/Bean(dlQueue)public Queue dlQueue() {return QueueBuilder.durable(Constants.DL_QUEUE).build();}Bean(dlExchange)public DirectExchange dlExchange() {return ExchangeBuilder.directExchange(Constants.DL_EXCHANGE).build();}Bean(dlBind)public Binding dlBind(Qualifier(dlExchange) DirectExchange directExchange,Qualifier(dlQueue) Queue queue) {return BindingBuilder.bind(queue).to(directExchange).with(Constants.DL_ROUTINGKEY);} } 在上面的代码中我们指定了下面的条件 队列的过期时间为 10s队列长度为 10  重试机制的配置如下 spring:rabbitmq:listener:simple:acknowledge-mode: autoretry:enabled: true # 开启消费者失败重试initial-interval: 5000ms # 初始失败等待时⻓为5秒max-attempts: 5 # 最⼤重试次数(包括自身消费的⼀次) 在上面的配置中设置的最大的重发次数为 5 次。 5. 验证消息重试超过规定次数是否进入死信队列 生产者代码如下 RequestMapping(/dl)public String dl() {String messageInfo dl... ;rabbitTemplate.convertAndSend(Constants.NOR_EXCHANGE, Constants.NOR_ROUTINGKEY, messageInfo);return 消息发送成功;} 消费者代码如下 Component Slf4j public class DLListener {RabbitListener(queues Constants.NOR_QUEUE)public void listener(Message message) throws IOException {String messageInfo new String(message.getBody());long deliveryTag message.getMessageProperties().getDeliveryTag();log.info(接收消息, message: {}, deliveryTag: {}, messageInfo, deliveryTag);int num 1 / 0;log.info(消息消费完成);} } 代码运行结果如下 消息重发五次后抛出异常观察 RabbitMQ 客户端后这条消息已经存放进了死信队列中 6. 验证 TTL 与死信队列 生产者代码如下 RequestMapping(/dl)public String dl() {String messageInfo dl... ;rabbitTemplate.convertAndSend(Constants.NOR_EXCHANGE, Constants.NOR_ROUTINGKEY, messageInfo);return 消息发送成功;} 将正常队列的 TTL 设置为 10s运行代码后观察 RabbitMQ 客户端 10s 前 10s 后 7. 验证队列溢出与死信队列 将正常队列的长度设置为 10生产者向 RabbitMQ 发送 20 条数据生产者代码如下 RequestMapping(/dl)public String dl() {for (int i 0; i 20; i) {String messageInfo dl... i;rabbitTemplate.convertAndSend(Constants.NOR_EXCHANGE, Constants.NOR_ROUTINGKEY, messageInfo);}return 消息发送成功;} 运行代码观察 RabbitMQ 客户端 可以看到溢出的 10 条消息进入了死信队列。
http://www.zqtcl.cn/news/175477/

相关文章:

  • 想自己做衣服上哪个网站学网站设计网上培训学校
  • 做餐饮的网站云匠网可能会遇到哪些问题
  • 制作网页网站的软件是网络科技公司怎么注册
  • 如何做百度推广网站价格网如何查产品价格
  • 织梦移动网站后缀找生意项目
  • 深圳高端网站建设美工步骤图
  • 指数网站网站用ps下拉效果怎么做
  • 李沧网站建设电话从化企业网站建设
  • 北京电商网站建设公司新康家园网站建设
  • 广西注册公司网站企业高端网站制作
  • 国安中建建设集团网站南京网页设计培训班
  • 网站如何制作建设内容社交电商平台
  • 无法连接到wordpress站点网站建设两个方面
  • 广东官网网站建设品牌未来做啥网站能致富
  • 网站建设合同副本珠海微网站建设
  • wordpress 多语言 站点数据分析师报名入口
  • 做网站长尾词品牌设计模板
  • 企业建立网站的优势阿里云做网站号码
  • 江苏住房城乡建设厅网站一千块钱能注册公司吗
  • 山东兴华建设集团有限公司网站分类信息网站怎么做
  • 怎么用手机网站做软件西安网站建设开发熊掌号
  • asp.net做网站的流程杭州vi设计广告公司
  • 微信网站主题网络建设解决方案
  • 济南自助建站系统网站的外链建设计划
  • 中山低价网站建设一学一做教育视频网站有哪些内容
  • 网上最好的网站模块模板建站小程序
  • 安平县哪家做网站html动漫网站模板下载
  • 网站关于 模板wordpress adsence
  • 杭州公司网站建设如何选择五屏网站建设
  • 天津商城网站建设平面设计师网站