MINA缺陷

异步框架还是有些非常明显的缺陷:
第一,MINA只会为每个Session分配一个线程,也就是只能一个一个事件按顺序执行,就算你在某个方法执行时产生了新的事件,比如收到新的数据,MINA也会先将该事件缓冲起来,所以你在执行某个方法时是不可能执行dataRead方法的,所以MINA框架是不会阻塞的,要想在一个逻辑方法中实现交互是实现不了的,因此要想出另外的实现方法。
第二,如果客户端发完一个数据给服务器就想马上得到回复,而不等整个业务逻辑执行完,也是实现不到的,因为MINA框架要将整个接收事件处理完了,再把回复信息发给客户端。
第三,如果MINA是作为服务器端等待连接的,当客户端正常关闭后业务逻辑也可继续正常执行,但是如果MINA是连接服务器的客户端,则当服务器关闭后,MINA的session也会关闭。
最后要说明的是MINA使用的线程池是用Leader/Followers Tread Pool实现的,默认最大支持2G的线程。当然MINA框架是开源的,用户可以根据自己的需要改写代码,而其MINA的功能也是不断可以扩展的。

猜你喜欢

转载自lizhe-0428.iteye.com/blog/1770155