问题是这样的:
我把MINA核心的非阻塞轮训方式的的代码用JDK7的AIO异步IO替换了,现在已经包装完成,测试的时候遇到两个问题:
测试的是这样的,服务端启动后20秒后释放所有资源关闭,客户端启动15秒后释放所有资源关闭,大部分情况下测试都是正常的,但是偶尔会出现客户端服务端都关闭后,再次启动服务的过程后,要么服务端抛出AsynchronousCloseException,客户端抛出远程主机强迫关闭一个现有连接;要么是客户端的读到一个-1,表示服务端已经关闭;
我怀疑是不是异步通道的关闭是不是就是“异步关闭”,需要比较长的时间释放资源,但想起来不太合理,因为JDK的这块源码是无法获取的所以也看不了源码;
基本上就是服务自动关闭或者强制KILL后,再次启动,就会出现上面的问题,过一会重启就可以正常~~~
这个问题困扰了两天了,无法解决,特地来这个大神聚集的地方,各位帮忙看看,探讨探讨,
如果需要代码包,可以跟我要~~~~~~