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

网站开发学费带有后台的网站开发软件

网站开发学费,带有后台的网站开发软件,建筑材料价格查询网站,商城网站建设实例需求背景 对于核心业务需要保证消息必须正常消费#xff0c;就必须考虑消费失败的场景#xff0c;rabbitmq提供了以下三种消费失败处理机制 直接reject#xff0c;丢弃消息#xff08;默认#xff09;返回nack#xff0c;消息重新入队列将失败消息投递到指定的交换机 对于核…背景 对于核心业务需要保证消息必须正常消费就必须考虑消费失败的场景rabbitmq提供了以下三种消费失败处理机制 直接reject丢弃消息默认返回nack消息重新入队列将失败消息投递到指定的交换机 对于核心业务第一种方法显然不可接受第二种方法如果代码有异常导致消费一直失败就会出现不断失败重新入队列的死循环问题较好的方案是3待消费失败问题修复后将消息从死信队列取出发回原队列重新消费。 实现 rabbit版本 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactIdversion2.6.3/version /dependency配置死信交换机路由队列 配置延迟消息业务队列消费失败投递到死信队列 Bean(orderCloseQueue)public Queue orderCloseQueue() {return QueueBuilder.durable(OrderRabbitConstants.ORDER_CLOSE_QUEUE).deadLetterExchange(RabbitMqConstants.DEAD_LETTER_EXCHANGE).deadLetterRoutingKey(RabbitMqConstants.DEAD_LETTER_ROUTING_KEY).build();}配置手动返回ACK Bean(name {manualContainerFactory}) public SimpleRabbitListenerContainerFactory manualContainerFactory(Qualifier(connectionFactory) ConnectionFactory connectionFactory) {SimpleRabbitListenerContainerFactory factory new SimpleRabbitListenerContainerFactory();this.manualFactoryConfigurer.configure(factory, connectionFactory);factory.setAcknowledgeMode(AcknowledgeMode.MANUAL);factory.setDefaultRequeueRejected(this.enableRequeueRejected);if (this.enableConsumers) {factory.setConcurrentConsumers(this.concurrentConsumers);factory.setMaxConcurrentConsumers(this.maxConcurrentConsumers);factory.setPrefetchCount(this.prefetchCount);}return factory; }业务队列消息消费模拟失败 RabbitListener(queues OrderRabbitConstants.ORDER_CLOSE_QUEUE, containerFactory manualContainerFactory)public void consumerCloseOrder(Message message, Channel channel) throws IOException {String orderCode new String(message.getBody(), CharsetUtil.UTF_8);String messageId message.getMessageProperties().getMessageId();log.info(收到MQ messageId[{}],订单号[{}], messageId, orderCode);if (true) {channel.basicReject(message.getMessageProperties().getDeliveryTag(), false);return;}}效果 可以看到死信队列dead.letter.queue已经正常收到死信消息编写逻辑将死信消费推回原队列 for (int i 0; i 10_000; i) {Message message rabbitTemplate.receive(RabbitMqConstants.DEAD_LETTER_QUEUE);if (message null) {return String.format(完成%d条, i);}log.info(拉取死信消息:[{}], message);try {MapString, Object headers message.getMessageProperties().getHeaders();MapString, Object deathMap ((ListMapString, Object) headers.get(x-death)).get(0);String exchange deathMap.get(exchange).toString();String routingKey ((List) deathMap.get(routing-keys)).get(0).toString();rabbitTemplate.send(exchange, routingKey, message);} catch (Exception ex) {log.error(消费死信消息失败, ex);rabbitTemplate.send(RabbitMqConstants.DEAD_LETTER_EXCHANGE, RabbitMqConstants.DEAD_LETTER_ROUTING_KEY, message);return 重入队列异常;}}重推回业务队列效果
http://www.hkea.cn/news/14405816/

相关文章:

  • 龙海网站建设价格做的网站有广告图片
  • 浦口区网站建设技术指导电商网站建设运城
  • 建设银行个人网站显示不了目前在哪个平台做推广好
  • 一个app下载网站iis 如何搭建网站
  • 汉川建设局网站深圳住房建设厅网站首页
  • 鄂州网站建设html网页背景颜色代码
  • 做网站大概多钱医疗网站整站优化思路
  • 西安网站建设有那些公司网站静态化
  • 类似网站的建设网站管理员的联系方式
  • 武进附近做网站的公司有哪些郑州市金水区建设局官方网站
  • 网站推广文章范例创建公司网站 优帮云
  • 建站系统社区做花馍网站
  • 建设网站的协议范本济南最新招聘信息今天
  • 科技部网站改版方案免费软件有哪些
  • 08 iis创建网站品牌网是什么
  • 做网站安全的公司有哪些网站首页权重
  • 天河门户网站建设工商注册登记系统官网
  • 衡阳网站建设价格wordpress功能介绍
  • 网站体验步骤单位做好安全生产举报奖励宣传工作的总结
  • 福州企业网站模板建站佛山网页制作教程
  • 网站大屏轮播图效果怎么做的望野诗
  • 领券购买网站是怎么做的店匠怎么做网页
  • 建设官方网站查询人工智能网页设计素材
  • 建设网站费用028网站建设工作室
  • 网站建设电脑网页设计基础课程设计
  • 石景山做网站学编程多久可以写游戏辅助
  • 商务门户网站怎么做亚马逊网站建设特点
  • 宁夏固原建设网站html网页设计题库
  • 深圳企业营销型网站建设泊头市网站建设
  • 白城学习做网站的学校专业的网站建设哪家快