获取t-io所有连接后进行遍历有时需要很久;
boolean releasedLock = false; Lock setlock = setWithLock.readLock();setlock.lock();之后再去遍历的 ;
获取 Set chanSet = setWithLock.getObj();
foreach 进行遍历
for(ChannelContext channelContext:chanSet){};
遍历完后 setlock.unlock();releasedLock = true;
获取所有的连接信息,一直卡在遍历中这个地方;
logOut.info(“tio连接监控定时器开始执行”);
SetWithLock setWithLock= Tio.getAllChannelContexts(sendMsgService.getServerTioConfig());
boolean releasedLock = false;
Lock setlock = setWithLock.readLock();
logOut.info(“获取setWithLock-readLock”);
setlock.lock();
logOut.info(“setWithLock-readLock.lock”);
try {
RedisClient.redisconf = redisConf;
RedisClient.del(Const.TIOSTATUS_REDIS_KEY);
Set chanSet = setWithLock.getObj();
logOut.info(“连接数:”+chanSet.size());
logOut.info(“开始从redis获取最新的自动升级版本号”);
String lastVersion = RedisClient.get(Const.YHYCS_UPGRADE_NAME);
logOut.info(“结束从redis获取最新的自动升级版本号,版本号为:”+lastVersion);
List
private boolean compareVersion(String oldVersion,String NewVersion){
if(StringUtils.isBlank(oldVersion)||StringUtils.isBlank(NewVersion)){
return false;
}
return NewVersion.compareTo(oldVersion)>0;
}
日志如下:
2019-05-20 10:25:00,311 [pool-3-thread-1] INFO - nbaisino - tio连接监控定时器开始执行
2019-05-20 10:27:34,761 [pool-3-thread-1] INFO - nbaisino - 获取setWithLock-readLock
2019-05-20 10:27:34,761 [pool-3-thread-1] INFO - nbaisino - setWithLock-readLock.lock
2019-05-20 10:27:39,917 [pool-3-thread-1] INFO - nbaisino - 连接数:12680
2019-05-20 10:28:13,073 [pool-3-thread-1] INFO - nbaisino - 开始从redis获取最新的自动升级版本号
2019-05-20 10:28:24,651 [pool-3-thread-1] INFO - nbaisino - 结束从redis获取最新的自动升级版本号,版本号为:2.0.2.190428
2019-05-20 10:28:54,015 [pool-3-thread-1] INFO - nbaisino - 开始释放setWithLock-readLock
2019-05-20 10:28:54,015 [pool-3-thread-1] INFO - nbaisino - setWithLock-readLock.unlock
2019-05-20 11:05:01,513 [pool-3-thread-8] INFO - nbaisino - tio连接监控定时器开始执行
2019-05-20 11:05:01,513 [pool-3-thread-8] INFO - nbaisino - 获取setWithLock-readLock
2019-05-20 11:21:48,426 [pool-3-thread-8] INFO - nbaisino - setWithLock-readLock.lock
2019-05-20 11:24:01,794 [pool-3-thread-8] INFO - nbaisino - 连接数:12598
2019-05-20 11:24:03,059 [pool-3-thread-8] INFO - nbaisino - 开始从redis获取最新的自动升级版本号
2019-05-20 11:24:03,060 [pool-3-thread-8] INFO - nbaisino - 结束从redis获取最新的自动升级版本号,版本号为:2.0.2.190428
2019-05-20 11:24:07,307 [pool-3-thread-8] INFO - nbaisino - 开始释放setWithLock-readLock
2019-05-20 11:24:07,308 [pool-3-thread-8] INFO - nbaisino - setWithLock-readLock.unlock