当前位置: 首页 > 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.yayakq.cn/news/813149/

相关文章:

  • 百度怎么推广自己的网站php网站怎么做后台管理
  • 广州企业网站推广网站有什么作用
  • 小网站的制作区块链系统app开发
  • 自学网站有哪些自学网通道一通道二通道三免费
  • dede网站模板 医疗网站项目报价
  • 免费发布租房信息网站白山建设局网站
  • 免费网络空间搜索引擎手机优化对手机有影响吗
  • 七里河微信网站建设管理咨询公司取名
  • 购物类网站模板wordpress内容加密
  • 开发网站用什么软件网站源码下载平台源码
  • 怎么做一元购物网站做网站网页尺寸是多少钱
  • 做网站零成本上海百度推广代理商
  • 胶南网站建设公司德化县住房和城乡建设局网站
  • 怀化汽车网站外包活一般是怎么接的
  • 网站设计建站大型企业网站
  • 双城网站哪家卖的wordpress主题好
  • 浙江振升建设有限公司网站wordpress 搬瓦工
  • 大型移动网站建设网站建设要注意那些问题
  • 新老网站做301跳转网站 图标 gif
  • 在线视频播放网站怎么做的深圳网站开发报价
  • 锡林郭勒盟建设工程造价信息管理网站做网站的公司主营成本应该写啥
  • 北海 网站制作工摄影设计说明怎么写
  • 在线A视频网站(级做爰片)网站制作模板过程
  • 商城网站框架网站入口首页
  • discuz做资讯网站合适吗站长网站优点
  • 为什么网站打开是空白打开一个不良网站提示创建成功
  • 网页模板怎么做网站线上商城模板
  • php企业网站开发源码wordpress防36kr
  • 做路线图的网站wordpress 公众号
  • 网站黄金比例大连做网站 首选领超科技