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

广州做网站多少搭建本地网站环境

广州做网站多少,搭建本地网站环境,暴雪游戏有哪些,做百度网站需不需要备案吗RabbitMQ消息投递的路径为: 生产者 —> 交换机 —> 队列 —> 消费者 在RabbitMQ工作的过程中,每个环节消息都可能传递失败,那么RabbitMQ是如何监听消息是否成功投递的呢? 确认模式(confirm)可以监…

RabbitMQ消息投递的路径为:
生产者 —> 交换机 —> 队列 —> 消费者
在RabbitMQ工作的过程中,每个环节消息都可能传递失败,那么RabbitMQ是如何监听消息是否成功投递的呢?
确认模式(confirm)可以监听消息是否从生产者成功传递到交换机。
退回模式(return)可以监听消息是否从交换机成功传递到队列。
消费者消息确认(Consumer Ack)可以监听消费者是否成功处理消息。

开启确认模式

publisher-confirm-type: correlated

@SpringBootTest
public class ProducerTest {@Autowiredprivate RabbitTemplate rabbitTemplate;@Testpublic void testConfirm(){// 定义确认模式的回调方法,消息向交换机发送后会调用confirm方法rabbitTemplate.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {/*** 被调用的回调方法* @param correlationData 相关配置信息* @param ack 交换机是否成功收到了消息* @param cause 失败原因*/@Overridepublic void confirm(CorrelationData correlationData, boolean ack, String cause) {if (ack){System.out.println("confirm接受成功!");}else{System.out.println("confirm接受失败,原因为:"+cause);// 做一些处理。}}});rabbitTemplate.convertAndSend("my_topic_exchange","my_routing","send message...");}
}

消息回退

spring:rabbitmq:host: 192.168.0.162port: 5672username: guestpassword: guestvirtual-host: /# 开启确认模式publisher-confirm-type: correlated# 开启回退模式publisher-returns: true
@SpringBootTest
public class ProducerTest {@Autowiredprivate RabbitTemplate rabbitTemplate;@Testpublic void testReturn(){// 定义退回模式的回调方法。交换机发送到队列失败后才会执行returnedMessage方法rabbitTemplate.setReturnsCallback(new RabbitTemplate.ReturnsCallback() {/*** @param returned 失败后将失败信息封装到参数中*/@Overridepublic void returnedMessage(ReturnedMessage returned) {System.out.println("消息对象:"+returned.getMessage());System.out.println("错误码:"+returned.getReplyCode());System.out.println("错误信息:"+returned.getReplyText());System.out.println("交换机:"+returned.getExchange());System.out.println("路由键:"+returned.getRoutingKey());// 处理消息...}});rabbitTemplate.convertAndSend("my_topic_exchange","my_routing1","send message...");}
}

消息确认
自动确认:spring.rabbitmq.listener.simple.acknowledge=“none”
手动确认:spring.rabbitmq.listener.simple.acknowledge=“manual”
消费者处理消息时定义手动签收和拒绝签收的情况

@Component
public class AckConsumer {@RabbitListener(queues = "my_queue")public void listenMessage(Message message, Channel channel) throws IOException, InterruptedException {// 消息投递序号,消息每次投递该值都会+1long deliveryTag = message.getMessageProperties().getDeliveryTag();try {int i = 1/0; //模拟处理消息出现bugSystem.out.println("成功接受到消息:"+message);// 签收消息/*** 参数1:消息投递序号* 参数2:是否一次可以签收多条消息*/channel.basicAck(deliveryTag,true);}catch (Exception e){System.out.println("消息消费失败!");Thread.sleep(2000);// 拒签消息/*** 参数1:消息投递序号* 参数2:是否一次可以拒签多条消息* 参数3:拒签后消息是否重回队列*/channel.basicNack(deliveryTag,true,true);}}
}
http://www.bjxfkj.com.cn/article/110839.html

相关文章:

  • seo网站是什么建设银行手机银行官方网站
  • 首次建设网站流程图北京万户网络技术有限公司
  • c2c有哪些网站北京商业网站建设
  • php和asp.net建立电商网站比较价格低
  • 美丽定制 网站模板广州公司网页制作
  • 新建网站懂的建设网站
  • 网站空间更换东莞网站建设找谁
  • 外贸电子商务网站建设罗湖高端网站建设费用
  • 时光慢网站建设方案论文最新军事新闻事件报道
  • 九易建网站的建站流程wordpress当下载站
  • 重庆平台网站建设价格网站多语言解决方案
  • 手机网站免费生成wordpress音乐musik
  • 标准营销型网站定做价格深圳龙岗推广公司
  • 湖南手机响应式网站建设企业宁波网站建设怎么建设
  • 做涂鸦的网站企业网站建设记什么会计科目
  • 网站托管服务使用于那种类型的网站网站建设技术可行性分析
  • 网站上线前准备海南的论坛网站建设
  • 国内网站备案京东网站建设的详细策划
  • 北京微信网站制作电话镇江平台搭建
  • 国内简约网站设计wordpress代码转义
  • 庆阳网站设计报价建设人力资源官方网
  • 网站建设更改石景山安保服务公司电话
  • 专业建站外包app手机软件
  • 金融网站如何做设计方案织梦wordpress建站
  • 现在c 做网站用什么框架学字体网站
  • 太原网站搜索优化中小型互联网企业有哪些
  • 网站怎么才可以不备案西安成品网站建设
  • 专业建设网站外包泉州安全教育平台
  • 奇胜网络 邯郸网站建设哪些网上订餐的网站做的好
  • xml网站地图制作wordpress汉化模板