针对有时在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设置只是为了让节点和中央时间有小差异时不会引起问题,并不代表鼓励节点时间和中央不一样,如果时间误差大了还会引起任务处理的问题,进而影响很多功能以及日志。

文章细节

文章编号:
27
评价 :