首页 > 其他分享 >ActiveMQ InactivityIOException: Channel was inactive for too (>30000) long 处理方案

ActiveMQ InactivityIOException: Channel was inactive for too (>30000) long 处理方案

时间:2023-06-15 19:57:50浏览次数:63  
标签:132.97 maxInactivityDuration 30000 61616 wireFormat tcp inactive long ActiveMQ

生产服务器上,MQ Produce和consumer端同时报如下错误,导致不能正常工作。

Transport (tcp://132.97.122.168:61616) failed, reason: org.apache.activemq.transport.InactivityIOException: Channel was inactive for too (>30000) long: tcp://132.97.122.168:61616, attempting to automatically reconnect


官网解释如下:

maxInactivityDuration=30000
The maximum inactivity duration (before which the socket is considered dead) in milliseconds. On some platforms it can take a long time for a socket to appear to die, so we allow the broker to kill connections if they are inactive for a period of time. Use by some transports to enable a keep alive heart beat feature. Set to a value <= 0 to disable inactivity monitoring.


即:配置JMS连接最大闲置时间(消息服务器无消息)
该wireFormat.maxInactivityDuration 的默认值是30000ms
wireFormat.maxInactivityDuration=0 这样的参数, wireFormat.maxInactivityDuration是心跳参数。
避免ActiveMQ在一段时间没有消息发送时抛出 "Channel was inactive for too long"异常。该异常会关闭连接,虽然client端会重连成功,但是不能发送数据,然后继续报下面异常:

2014-10-30 00:49:49 [ ActiveMQ Task-3:529216111 ] - [ INFO ] Successfully reconnected to tcp://132.97.122.168:61616
2014-10-30 00:49:49 [ ActiveMQ Transport: tcp:///132.97.122.168:61616@41298:529216129 ] - [ WARN ] Transport (tcp://132.97.122.168:61616) failed, reason: java.net.SocketException: Connection reset, attempting to automatically reconnect

解决方案:wireFormat.maxInactivityDuration=0,禁用InactivityMonitor
即改成如下格式:

failover:(tcp://172.26.7.15:61616?wireFormat.maxInactivityDuration=0,tcp://172.26.7.17:61616?wireFormat.maxInactivityDuration=0,tcp://172.26.7.18:61616?wireFormat.maxInactivityDuration=0)

测试如下
改之前:

 


禁用后:

 


————————————————
版权声明:本文为CSDN博主「weizs_999」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011270461/article/details/40827757

标签:132.97,maxInactivityDuration,30000,61616,wireFormat,tcp,inactive,long,ActiveMQ
From: https://www.cnblogs.com/telwanggs/p/17483955.html

相关文章

  • Long类型后端传前端精度丢失的优雅解决方案
    前言提要:javaScript的最大安全值:Number.MAX_SAFE_INTEGER是一个值为9007199254740991的常量,如果超过这个值,那么js会出现不精确问题解决方案(推荐级别:低等):修改字段类型为String解决方案(推荐级别:中等):字段上添加注解@JsonFormat(shape=JsonFormat.Shape.STRING)......
  • Longest Path (牛客多校) (换根DP+斜率优化)
    换根dp:第一次dfs处理儿子点的权值第二次dfs处理父亲点,和兄弟节点的权值处理兄弟节点的时候,利用父亲节点统一处理,利用stl存储斜率优化:为什么会用到斜率优化:在遇到转移式子是fixfj的时候,不是分开的,(分开的,直接用单调队列处理)(通常会遇到平方式子)把......
  • C++ 数值最大最小标识符一网打尽,INT_MIN/ INT_MAX/LONG_MIN/LONG_MAX 等等
    ConstantMeaningValueCHAR_BIT Numberofbitsinthesmallestvariablethatisnotabitfield. 8SCHAR_MIN Minimumvalueforavariableoftypesignedchar. -128SCHAR_MAX Maximumvalueforavariableoftypesignedchar. 127UCHAR_MAX Maximumvalueforav......
  • Codeforces Round #274 (Div. 2)-D. Long Jumps
    原题链接D.LongJumpstimelimitpertestmemorylimitpertestinputoutputValeryisaPEteacherataschoolinBerland.Soonthestudentsaregoingtotakeatestinlongjumps,andValeryhaslosthisfavo......
  • 关于你的类该是什么包装类还是基础类型的疑惑?例如Long和long
    解释一下在Java中,long是基本数据类型,而Long是对应的包装类。DTO实体类中需要使用长整型的属性时,应该使用Long而不是long。这是因为DTO实体类通常用于数据传输,而数据传输过程中需要使用对象,而非基本数据类型。另外,使用Long能够提供更好的灵活性和安全性,因为它可以为null......
  • Leetcode Hot 100 & 128. Longest Consecutive Sequence
    参考资料:考点:哈希&[题干]Input:nums=[100,4,200,1,3,2]Output:4Explanation:Thelongestconsecutiveelementssequenceis[1,2,3,4].Thereforeitslengthis4.做的时候冥思苦想了半天,因为这个题目要求是O(n)的解法,后来看到题解的时候还一度怀......
  • Side by Side 1, Third Edition [Longman] + AUDIO
    SidebySide1,ThirdEdition[Longman]+AUDIOLevel:BeginnerA1Описание:SidebySide,ThirdEdition,byStevenJ.MolinskyandBillBliss,isadynamic,all-skillsprogramthatintegratesconversationpractice,reading,writing,andlistening—al......
  • odoo8 pycharm debug 遇到的openerp.service.server: Evented Service (longpolling)
    odoo8pycharmdebug遇到的openerp.service.server:EventedService(longpolling)runningon0.0.0.0:8072@西安-张提供的指导 openerp/__init__.py 里面找到下面这几行,蓝色的是 新增的,红色的是把原来的代码注释掉 ......
  • activeMQ Jms Demo
    概述ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMSProvider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位详细一、什么是ActiveMQ百度解释:ActiveMQ是A......
  • activemq安装教程
    https://activemq.apache.org/ 官网下载对应版本:apache-activemq-5.16.3-bin.tar.gztar-xvzfapache-activemq-5.16.3-bin.tar.gzmvapache-activemq-5.16.3/usr/localcdconf/vimactivemq.xml在broker标签上添加schedulerSupport="true"属性。如下:<brokerxmlns="h......