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

网站虚拟主机内存不足能不能链接自己创建公众号免费吗

网站虚拟主机内存不足能不能链接,自己创建公众号免费吗,用dede做的网站,网站建设店铺文章目录 配置RabbitMQ的ConfirmCallback使用ConfirmCallback发送消息实际使用中的注意事项总结 在开发消息驱动的系统时#xff0c;消息的可靠传递至关重要。而RabbitMQ作为一个广泛使用的消息队列中间件#xff0c;提供了多种消息确认机制#xff0c;确保消息从生产者到交… 文章目录 配置RabbitMQ的ConfirmCallback使用ConfirmCallback发送消息实际使用中的注意事项总结 在开发消息驱动的系统时消息的可靠传递至关重要。而RabbitMQ作为一个广泛使用的消息队列中间件提供了多种消息确认机制确保消息从生产者到交换器再到队列的传递都能被监控和确认。今天我想分享一下如何在Spring中配置和使用RabbitMQ的消息确认回调功能并讨论一些实际使用中的注意事项。 配置RabbitMQ的ConfirmCallback 首先我们需要在application.yml或application.properties中配置RabbitTemplate使其支持消息确认回调 spring:rabbitmq:publisher-confirm-type: correlated # 开启publisher confirm机制并设置confirm类型publisher-returns: true # 开启publisher return机制这些配置项用于开启RabbitMQ的消息确认publisher confirm和消息返回publisher return机制。接下来我们需要在Spring的配置类中进行相应的配置 package com.itheima.publisher.config;import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.context.annotation.Configuration;import javax.annotation.PostConstruct;Slf4j Configuration RequiredArgsConstructor public class MqConfig {private final RabbitTemplate rabbitTemplate;PostConstructpublic void init() {rabbitTemplate.setReturnsCallback(returned - {log.error(触发return callback,);log.debug(exchange: {}, returned.getExchange());log.debug(routingKey: {}, returned.getRoutingKey());log.debug(message: {}, returned.getMessage());log.debug(replyCode: {}, returned.getReplyCode());log.debug(replyText: {}, returned.getReplyText());});} }在这个配置类中我们通过PostConstruct注解的方法初始化了RabbitTemplate的ReturnsCallback。这一回调方法会在消息无法路由到队列时被触发记录详细的错误信息。 使用ConfirmCallback发送消息 接下来我们来看如何在发送消息时使用ConfirmCallback来确认消息是否成功发送到交换器 Test public void testConfirmCallback() throws InterruptedException {// 0.创建correlationDataCorrelationData cd new CorrelationData(UUID.randomUUID().toString());cd.getFuture().addCallback(new ListenableFutureCallbackCorrelationData.Confirm() {Overridepublic void onFailure(Throwable ex) {log.error(spring amqp 处理确认结果异常, ex);}Overridepublic void onSuccess(CorrelationData.Confirm result) {// 判断是否成功if (result.isAck()) {log.debug(收到ConfirmCallback ack消息发送成功);} else {log.error(收到ConfirmCallback nack消息发送失败reason:{}, result.getReason());}}});// 1.交换名String exchangeName hmall.direct;// 2.消息String message hello everyone;rabbitTemplate.convertAndSend(exchangeName, blue222, message, cd);Thread.sleep(2000); // 或更长时间 }在这个测试方法中我们首先创建了一个CorrelationData对象并为其添加了回调方法。这个回调方法在消息发送成功或失败时会被触发从而记录相关日志信息。然后我们指定交换器名称和消息内容使用RabbitTemplate的convertAndSend方法发送消息并附带CorrelationData对象。 实际使用中的注意事项 虽然开启生产者确认机制能够有效保证消息传递的可靠性但这种机制会消耗更多的MQ性能。因此在实际使用中需要慎重考虑是否开启生产者确认机制。下面是几种会触发确认的情况 路由失败一般是因为RoutingKey错误导致往往是编程错误引起的。交换机名称错误同样是编程错误导致。MQ内部故障这种情况需要处理但发生概率较低。 因此只有在对消息可靠性要求非常高的业务场景中才需要开启生产者确认机制并且只需要开启ConfirmCallback处理nack即可。对于一般的业务场景建议通过完善的编码规范和严格的测试来避免上述编程错误从而减少不必要的性能开销。 总结 通过以上配置和代码我们可以实现对RabbitMQ消息的确认回调从而提高消息传递的可靠性。在实际开发中这种机制可以帮助我们更好地监控和管理消息传递过程中的各种问题确保消息的准确投递。然而需要根据具体业务需求权衡性能和可靠性之间的关系。
http://www.hkea.cn/news/14288909/

相关文章:

  • 网站添加背景音乐免费.网站最新域名
  • 母婴网站这么做分销系统开发多少钱
  • 敦煌网网站评价wordpress移动端音频播放
  • 网站建设服务商 需要什么主机网站服务器买了后怎么做
  • 现在还有做静态网站的wordpress 商品导航
  • 职业生涯规划网站开发背景跨平台网站开发
  • 如何查网站开发商网站刷新新前台是什么意思
  • 258网站建设实时新闻
  • 柳市做网站制作农产品网络营销渠道
  • 投票网站建设网络营销是一种什么营销
  • 怎么打开app西宁百度seo
  • 常州外贸网站设计wordpress 去掉描述的超链接
  • 最全的网页模板网站wordpress主题 wiki
  • 建个普通网站oa网站开发模板
  • 静态网站建设实训报告做网站的规范
  • 服务器网站80端口打不开深圳推广平台深圳网络推广
  • 给企业做网站赚钱吗乒乓球网站怎么做
  • 上海网站制作公司介绍vultr 宝塔安装wordpress
  • 启用中文域名大网站网站建站网站80s隐秘而伟大
  • 建站服务外贸1.电子商务网站建设的核心是( )
  • 怎样营销网站网络运营主要做什么
  • 建筑公司网站制作wordpress插件c
  • 个个大公司网站建设网站公司哪家技术好
  • 中山网站改版前端培训机构出来的好找工作吗
  • 2016网站建设总结快速seo优化
  • 宁夏做网站的公司长沙做网站公司哪家好
  • 表格我做视频网站wordpress免费网站模板下载地址
  • 怎么做二维码网站沧州住房和城乡建设部网站
  • 湘潭网站建设 多少费用磐石网络首页4399游戏大全
  • 赣州网站建设较好的公司自适应网站建设价格