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

手机网站 免费公司做两个网站有影响吗

手机网站 免费,公司做两个网站有影响吗,怎么联系网站开发团队,360搜索首页大家好,我是G探险者! 📌 背景场景 在高可用分布式系统中,我们经常面临: MQ 集群重启 → 消息监听中断MQ 网络短暂抖动 → 发送端连接失败一端恢复正常,另一端仍处于挂死状态 如果你只配置了“连接工厂层…

大家好,我是G探险者!

📌 背景场景

在高可用分布式系统中,我们经常面临:

  • MQ 集群重启 → 消息监听中断
  • MQ 网络短暂抖动 → 发送端连接失败
  • 一端恢复正常,另一端仍处于挂死状态

如果你只配置了“连接工厂层”的重连,却忽略了监听容器或发送客户端的容错设计,重连机制可能失效,业务陷入长时间不可用。


✅ 核心理念:监听和发送是两个不同的连接“通道”

通道用途组件
监听通道从 MQ 拉取消息Spring JMS 的 MessageListenerContainer
发送通道发送消息到 MQSpring 的 JmsTemplate

这两个通道各自有自己的连接池和生命周期,不能指望一个设置就解决全部问题


🔁 一、监听端的自动重连机制

推荐做法:使用 DefaultMessageListenerContainer 并设置重连间隔

DefaultMessageListenerContainer container = new DefaultMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
container.setDestinationName("MY.QUEUE");
container.setMessageListener(new MyListener());// ✅ 开启事务模式可选
container.setSessionTransacted(true);// ✅ 开启自动重连机制(默认是 true)
container.setRecoveryInterval(5000L); // 每 5 秒重试连接一次container.afterPropertiesSet();
container.start();

DefaultMessageListenerContainer 内部会捕获 ConnectionException 等连接中断异常,自动重试连接。


📤 二、发送端的容灾重连策略

监听容器有容器帮你维护连接,而 发送端(JmsTemplate)则需要连接池支撑

推荐:配合使用 CachingConnectionFactory

ConnectionFactory factory = createIBMConnectionFactory(); // 原始 MQ 工厂
CachingConnectionFactory cachingFactory = new CachingConnectionFactory(factory);// 可选设置缓存大小(缓存 session 的数量)
cachingFactory.setSessionCacheSize(10);JmsTemplate jmsTemplate = new JmsTemplate(cachingFactory);
jmsTemplate.convertAndSend("MY.QUEUE", "Hello MQ");

📌 为啥要用 CachingConnectionFactory

原因描述
重用连接避免每次发送都新建连接(开销大)
支持连接断开重建内部封装连接失效后重建逻辑
提供 session 缓存提升发送效率,降低资源消耗

🧰 三、JMS 厂商参数补充(IBM MQ 举例)

若你使用 IBM MQ,可以在底层工厂设置:

MQQueueConnectionFactory factory = new MQQueueConnectionFactory();factory.setHostName("192.168.1.102");
factory.setPort(1414);
factory.setQueueManager("QM1");
factory.setChannel("CHANNEL1");
factory.setTransportType(WMQConstants.WMQ_CM_CLIENT);// ✅ 启用自动重连
factory.setIntProperty(WMQConstants.WMQ_CLIENT_RECONNECT_OPTIONS,WMQConstants.WMQ_CLIENT_RECONNECT);// ✅ 设置最大重连时间(秒)
factory.setIntProperty(WMQConstants.WMQ_CLIENT_RECONNECT_TIMEOUT, 30);// ✅ 设置连接列表(用于集群 HA)
factory.setStringProperty(WMQConstants.WMQ_CONNECTION_NAME_LIST,"192.168.1.102(1414),192.168.1.103(1414)");

🔗 四、总结策略建议表

场景推荐设置
MQ监听端DefaultMessageListenerContainer + setRecoveryInterval
MQ发送端JmsTemplate + CachingConnectionFactory
多 broker/集群设置 CONNECTION_NAME_LIST
事务性保障setSessionTransacted(true) + onMessage() 异常触发 rollback
监听不生效检查是否调用了 afterPropertiesSet()

📘 下一篇预告:

《JMS事务性会话彻底解析:消息监听中的 commit、rollback 和幂等设计》

我们将深入剖析如何使用事务控制 MQ 消息的消费与回滚,Spring 容器如何自动帮你 commit/rollback,以及如何设计幂等保证系统不重复处理失败消息。


http://www.dtcms.com/wzjs/617540.html

相关文章:

  • 室内设计培训班学费一般多少搜索关键词优化服务
  • 专业旅游网站开发系统平面设计课程标准
  • 国外 网站开发框架微信小程序是什么
  • 商城推广 网站建设做电影网站被告版权
  • 威县网站建设代理价格宁波网站建设设计制作公司
  • 淘客网站模板湖北网站制作公司
  • 网站开发工程师怎么样wordpress博客 免费
  • 网站备案密码查询招聘网站设计师要求
  • 做网站的公司挣钱吗wordpress 调用所有
  • 烟台建设协会网站局域网建网站的详细步骤
  • 网站建设需要哪些岗位深圳注册公司需要哪些材料和流程
  • 怎么用切片和dw做网站绵阳建设局网站
  • 代理备案 网站 安全吗营销型企业网站源码
  • 做一个购物商城网站多少钱大学电子商务网站建设方案
  • 建设银行网址网站优化包括对什么优化
  • 请输入您网站的icp备案信息网站开发成本估计
  • 做门面商铺比较好的网站佛山英文网建站
  • 用js来做网站做网站属于It行业吗
  • 河北建设厅官方网站报名考试网网站问卷调查怎么做
  • 大庆市住房与城乡建设局网站中国住房城乡和城乡建设部网站
  • 酒泉网站seo网站专业性免费评价工具
  • 江苏省建设厅网站怎么登不上软件定制开发公司在哪里
  • 厦门做网站最好的公司网易企业邮箱大师登录
  • 化肥网站模板php做的网站收录
  • jsp是做网站后台的吗天猫商城网官网
  • 哪家手表网站郑州做订货网站
  • 网站私信界面网站建设微享互动
  • 网页设计的网站配色方案wordpress有中文官方版
  • 做网站工作图怎样登陆网站后台
  • 如何制作一个公司网站星空无限传媒在线观看电视剧赘婿