org.apache.mina.core.service.IoHandlerAdapter.exceptionCaught(IoSession session, Throwable ex)是当MINA捕获异常之后通知给应用层的方法.但是当客户端发生频繁建立连接 然后立即断开 的测试的时候 我发现这个异常捕获会进入死循环的调用. -- 即不分青红皂白的一直调用exceptionCaught方法.而我exceptionCaught里已经写了 IOSESSION.close(boolean)了
这是什么情况?????????
这是什么情况?????????
exceptionCaught里面写IOSESSION.close(boolean)是错误的.因为对一个已异常的session再次调用close的话会反复处罚exceptionCaught. 结果导致死循环.哎. 看来得多看看 mina sdk...
最近,我也在研究 mina,哈哈。