今天用apache mina简单写一个消息服务时在客户端logout时,服务器端报:
ERROR DEAD LOCK: IoFuture.await() was invoked from an I/O processor thread. Please use IoFutureListener or configure a proper thread model alternatively.
程序出错在:
public void logout(){
if(session != null && session.isConnected()){
session.close(false).awaitUninterruptibly(20000); //这里抛出上面的异常
//session.close(true);
}
}
服务器代码:
NioSocketAcceptor acceptor = new NioSocketAcceptor();
//增加filter列表
DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
chain.addLast( "logger", new LoggingFilter() );
chain.addLast("myChin", new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
//消息处理
acceptor.setHandler(new MessageHandler());
acceptor.bind(new InetSocketAddress(IP, PORT));
网上查找说在单线程模式下不能用future.awaitUninterruptibly()。增加ExecutorFilter就能解决。
chain.addLast("exceutor", new ExecutorFilter());
看来自己对异步
分享到:
相关推荐
Apache MINA是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。 当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版...
apache-mina-2.0.7-bin.tar,apache-mina-2.0.7-src.tar,rxtx-2.0-7pre1-i386-pc-mingw32,rxtx-2.1-7r2
米娜 apache-mina-2.0.16-bin.zip米娜 apache-mina-2.0.16-bin.zip米娜 apache-mina-2.0.16-bin.zip米娜 apache-mina-2.0.16-bin.zip
apache-mina-2.0.2-bin.tar.gz mina-core-2.0.2.jar
Apache MINA是一个网络应用程序框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序。 apache-mina-2.0.7-bin.zip,apache-mina-2.0.7-src.zip,log4j-1.2.17.zip,slf4j-api-1.6.6.jar,slf4j-api-1.6.6-...
apache-mina-1.0.0-bin.tar.gz
org.apache.mina.core.buffer.IoBuffer mina core 包
apache-mina-2.0.16.zip
基于java的开发源码-mina高性能Java网络框架.zip 基于java的开发源码-mina高性能Java网络框架.zip 基于java的开发源码-mina高性能Java网络框架.zip 基于java的开发源码-mina高性能Java网络框架.zip 基于java的开发...
mina最新版本2.1.3
Apache_MINA_2_用户指南.pdf
apache-mina-2.0.21-src.zip代码代码代码,
核心jar包
该软件包含mina正式发布版本包(dist)、api开发文档(docs)及依赖包库(lib),发布包版本包含如下内容>>
Apache Mina Server 2.0中文参考手册V1.0,Apache Mina2.0学习笔记(修订版)Apache Mina Server 2.0中文参考手册V1.0,Apache Mina2.0学习笔记(修订版)
hive 开发UDF 使用maven工程 引发jar包缺失 hive 开发UDF 使用maven工程 引发jar包缺失
NIO是一个基于事件的IO架构,最基本的思想就是:有事件我通知你,你再去做你的事情,没事件时你大可以节约大把时间去做其它任何事情。而且NIO的主线程only one,不像传统的模型,需要N个线程去,也减轻了JVM的工作量...
ApacheMina典型例子分析参考.pdf
mina2.0.7版本的源代码,官方发布的稳定版本
Apache_Mina_Server中文参考手册,简单易用清晰的说明