针对有时在HUB日志里看到很长一段时间没有心跳没有日志的情况
出现该问题的一种原因是因为节点服务器的时间快于中央服务器(消息服务器)的时间,此时会造成消息接收异常。
因此出现该问题后,首先可以看一下HUB所在的节点服务器的时间,和中午服务器时间的差异。(改进方式1)
此外还有一种原因是烂网络引起的,可以修改MQ的URL,这样发现此类问题时15分钟会自动恢复(改进方式2)
改进方式1:
1. 修改%BSPRINT_HOME%\webserver\webapps\console\WEB-INF\classes\applicationContext.xml文件
搜索字符串expirationSeconds,将他的值从120改为600
例:<property name="expirationSeconds" value="600"/>
2.修改%BSPRINT_HOME%\messageserver\conf\activemq.xml文件
在“</plugins>”的上方增加一行:
改了效果如下:
<timeStampingBrokerPlugin ttlCeiling="86400000" zeroExpirationOverride="86400000"/>
</plugins>
3.重启消息服务
改进方式2(仅2.7.0以前版本,新版已经默认就是该连接方式):
修改HUB, NODE, RADAR的conf文件的URL配置。改为
failover:(tcp://192.168.1.103:8116?wireFormat.maxInactivityDuration=90000&soTimeout=10000&soWriteTimeout=10000)
以上URL只是示例,需要将IP地址试用客户实际的地址。
重启对应模块
PS:以上改进方式1设置只是为了让节点和中央时间有小差异时不会引起问题,并不代表鼓励节点时间和中央不一样,如果时间误差大了还会引起任务处理的问题,进而影响很多功能以及日志。