我在sessionOpened和sessionClosed里做了个加减值来统计个数,
sessionIdle()里设置了时间 ,单独的断开 超时等操作都可以看到效果
但是如果连接数一大就会出现不准确的 不知道是否正确关闭
看网上说ExpiringSessionRecycler可以回收session 这个东西怎么用的????
------解决思路----------------------
话说不会,友情帮顶,期待高手解答!
------解决思路----------------------
不知道你说的不准确是怎么一回事
至少我没碰到过客户端断开,MINA的事件没响应的情况
------解决思路----------------------
sessionIdle里面有做close 操作吗?
有的话 会不会是 IDLE数 +sessionClosed的数字 = sessionOpened
------解决思路----------------------
SocketAcceptor acceptor = new NioSocketAcceptor();
acceptor 这个是你MINA的对象,则:
int aliveSession = acceptor.getManagedSessionCount();、
你说的sessionMap是这个?
Map<Long,IoSession> sessionMap = acceptor.getManagedSessions();
用处不大,这个都是通信层的缓存对象,肯定是用SessionId作为Key放在map中,非业务层,你应该不需要关心。最多知道个总数就行。
------解决思路----------------------
你这个还是多调试吧。
------解决思路----------------------
我记得老师说过,这个session会自动回收的。
------解决思路----------------------
还是没看明白要问什么?