Apache MINA 2.0.8 发布,此版本是个 bug 修复版本。此版本关闭了 90 个 JIRAs(修复,延迟或者简单的弃用)。
其中一个改进可能会影响 MINA 2.0.7 到 MINA 2.0.8 的切换: */IoHandler/* 接口现在包括一个方法调用 /inputClosed()/,所以你必须实现这个方法,如果你直接实现 */IoHandler/* 接口,或者更好的,你扩展 */IoHandlerAdapter/*。
此版本是稳定版本,可用于生产环境,现已提供下载,更新详情请看这里或者这里。
Apache Mina开发手册 http://www.linuxidc.com/Linux/2014-09/107137.htm
Apache Mina 白名单实现方法 http://www.linuxidc.com/Linux/2012-08/68992.htm
Apache MINA实战 http://www.linuxidc.com/Linux/2012-04/59337.htm
建议每位用户都升级到最新版本!
相关链接 ========== * 项目主页 http://mina.apache.org/mina-project/ * FAQ http://mina.apache.org/mina-project/faq.html * 文本 http://mina.apache.org/mina-project/documentation.html Bug 修复 * DIRMINA-539 <https://issues.apache.org/jira/browse/DIRMINA-539> <https://issues.apache.org/jira/browse/DIRMINA-539> - NioDatagramConnector doesn't takes the TrafficClass value set to his DatagramSessionConfig * DIRMINA-574 <https://issues.apache.org/jira/browse/DIRMINA-574> <https://issues.apache.org/jira/browse/DIRMINA-574> - ClassCastException when a message is written on a closed session. * DIRMINA-604 <https://issues.apache.org/jira/browse/DIRMINA-604> <https://issues.apache.org/jira/browse/DIRMINA-604> - Deadlock occurs when implementing two mina StateMachine * DIRMINA-639 <https://issues.apache.org/jira/browse/DIRMINA-639> <https://issues.apache.org/jira/browse/DIRMINA-639> - WriteFuture are updated long after a session.write() is done * DIRMINA-738 <https://issues.apache.org/jira/browse/DIRMINA-738> <https://issues.apache.org/jira/browse/DIRMINA-738> - Using IoEventQueueThrottler with a WriteRequestFilter can lead to hangs * DIRMINA-760 <https://issues.apache.org/jira/browse/DIRMINA-760> <https://issues.apache.org/jira/browse/DIRMINA-760> - Client fails to detect disconnection * DIRMINA-764 <https://issues.apache.org/jira/browse/DIRMINA-764> <https://issues.apache.org/jira/browse/DIRMINA-764> - DDOS possible in only a few seconds... * DIRMINA-777 <https://issues.apache.org/jira/browse/DIRMINA-777> <https://issues.apache.org/jira/browse/DIRMINA-777> - IoSessionConfig.setUseReadOperation(true) doesn't seem to work * DIRMINA-779 <https://issues.apache.org/jira/browse/DIRMINA-779> <https://issues.apache.org/jira/browse/DIRMINA-779> - SSLHandler can re-order data that it reads * DIRMINA-782 <https://issues.apache.org/jira/browse/DIRMINA-782> <https://issues.apache.org/jira/browse/DIRMINA-782> - Combination of SslFilter & FileRegionWriteFilter causes messageSent events to be lost * DIRMINA-785 <https://issues.apache.org/jira/browse/DIRMINA-785> <https://issues.apache.org/jira/browse/DIRMINA-785> - Half-duplex close of TCP channel * DIRMINA-789 <https://issues.apache.org/jira/browse/DIRMINA-789> <https://issues.apache.org/jira/browse/DIRMINA-789> - Possible Deadlock/Out of memory when sending large amounts of data using Nio * DIRMINA-792 <https://issues.apache.org/jira/browse/DIRMINA-792> <https://issues.apache.org/jira/browse/DIRMINA-792> - await() forever * DIRMINA-804 <https://issues.apache.org/jira/browse/DIRMINA-804> <https://issues.apache.org/jira/browse/DIRMINA-804> - NioDatagramAcceptor.unbind does not unbind cleanly * DIRMINA-805 <https://issues.apache.org/jira/browse/DIRMINA-805> <https://issues.apache.org/jira/browse/DIRMINA-805> - No cipher suites and protocols in SslFilter * DIRMINA-813 <https://issues.apache.org/jira/browse/DIRMINA-813> <https://issues.apache.org/jira/browse/DIRMINA-813> - Starvation occures sometimes in SerialSession#close() * DIRMINA-818 <https://issues.apache.org/jira/browse/DIRMINA-818> <https://issues.apache.org/jira/browse/DIRMINA-818> - Loosing connects on NioSocketConnector * DIRMINA-833 <https://issues.apache.org/jira/browse/DIRMINA-833> <https://issues.apache.org/jira/browse/DIRMINA-833> - LoggingFilter does not log SENT bytes when used with a ProtocolCodecFilter * DIRMINA-843 <https://issues.apache.org/jira/browse/DIRMINA-843> <https://issues.apache.org/jira/browse/DIRMINA-843> - NioSocketAcceptor doesnot provide an interface to input connectiontimeout parameter. * DIRMINA-844 <https://issues.apache.org/jira/browse/DIRMINA-844> <https://issues.apache.org/jira/browse/DIRMINA-844> - Http Proxy Authentication failed to complete (see description for exact point of failure) * DIRMINA-845 <https://issues.apache.org/jira/browse/DIRMINA-845> <https://issues.apache.org/jira/browse/DIRMINA-845> - ProtocolEncoderOutputImpl isn't thread-safe * DIRMINA-891 <https://issues.apache.org/jira/browse/DIRMINA-891> <https://issues.apache.org/jira/browse/DIRMINA-891> - SSLHandler throws SSLException during handshake that sequence number triggers * DIRMINA-899 <https://issues.apache.org/jira/browse/DIRMINA-899> <https://issues.apache.org/jira/browse/DIRMINA-899> - IoSession.getAttribute() doesn't store default value * DIRMINA-902 <https://issues.apache.org/jira/browse/DIRMINA-902> <https://issues.apache.org/jira/browse/DIRMINA-902> - Buffer read incorrectly when reading after a NEED_DATA trigger. * DIRMINA-905 <https://issues.apache.org/jira/browse/DIRMINA-905> <https://issues.apache.org/jira/browse/DIRMINA-905> - mina serial close * DIRMINA-911 <https://issues.apache.org/jira/browse/DIRMINA-911> <https://issues.apache.org/jira/browse/DIRMINA-911> - Surprising behaviour with ConnectFuture * DIRMINA-912 <https://issues.apache.org/jira/browse/DIRMINA-912> <https://issues.apache.org/jira/browse/DIRMINA-912> - Different instances of OrderedThreadPoolExecutor may use same task queue * DIRMINA-920 <https://issues.apache.org/jira/browse/DIRMINA-920> <https://issues.apache.org/jira/browse/DIRMINA-920> - HTTP server decoding is broken * DIRMINA-926 <https://issues.apache.org/jira/browse/DIRMINA-926> <https://issues.apache.org/jira/browse/DIRMINA-926> - IoSession IP Error when Socket Server Communicate With Microcomputer In LAN and Internet. * DIRMINA-928 <https://issues.apache.org/jira/browse/DIRMINA-928> <https://issues.apache.org/jira/browse/DIRMINA-928> - when client want to connect to server by binding wrong ip address,there is a bug. * DIRMINA-931 <https://issues.apache.org/jira/browse/DIRMINA-931> <https://issues.apache.org/jira/browse/DIRMINA-931> - HTTP header decoding is broken * DIRMINA-932 <https://issues.apache.org/jira/browse/DIRMINA-932> <https://issues.apache.org/jira/browse/DIRMINA-932> - HTTP Request decoding is broken if request headers are received in several messages * DIRMINA-933 <https://issues.apache.org/jira/browse/DIRMINA-933> <https://issues.apache.org/jira/browse/DIRMINA-933> - subtle HttpServerDecoder problems * DIRMINA-937 <https://issues.apache.org/jira/browse/DIRMINA-937> <https://issues.apache.org/jira/browse/DIRMINA-937> - sslfilter hangs with openjdk works with Oracle? * DIRMINA-940 <https://issues.apache.org/jira/browse/DIRMINA-940> <https://issues.apache.org/jira/browse/DIRMINA-940> - HTTP Client decoder does not support responses without Content-Length header * DIRMINA-942 <https://issues.apache.org/jira/browse/DIRMINA-942> <https://issues.apache.org/jira/browse/DIRMINA-942> - Infinite loop flushing to broken pipe * DIRMINA-948 <https://issues.apache.org/jira/browse/DIRMINA-948> <https://issues.apache.org/jira/browse/DIRMINA-948> - Performance recession when invoke session.write concurrent * DIRMINA-956 <https://issues.apache.org/jira/browse/DIRMINA-956> <https://issues.apache.org/jira/browse/DIRMINA-956> - Status code match bug in AbstractHttpLogicHandler * DIRMINA-957 <https://issues.apache.org/jira/browse/DIRMINA-957> <https://issues.apache.org/jira/browse/DIRMINA-957> - MINA build in BlacklistFilter does not support IPV6 address * DIRMINA-962 <https://issues.apache.org/jira/browse/DIRMINA-962> <https://issues.apache.org/jira/browse/DIRMINA-962> - Immediate session close with a SSL filter * DIRMINA-963 <https://issues.apache.org/jira/browse/DIRMINA-963> <https://issues.apache.org/jira/browse/DIRMINA-963> - Socks5 and ProxyConnector don't work with InetSocketAddress.createUnresolved * DIRMINA-965 <https://issues.apache.org/jira/browse/DIRMINA-965> <https://issues.apache.org/jira/browse/DIRMINA-965> - HttpServerDecoder is broken in certain condition * DIRMINA-966 <https://issues.apache.org/jira/browse/DIRMINA-966> <https://issues.apache.org/jira/browse/DIRMINA-966> - NIO Datagram messages can get duplicated when unable to be sent by the underlying DatagramChannel * DIRMINA-967 <https://issues.apache.org/jira/browse/DIRMINA-967> <https://issues.apache.org/jira/browse/DIRMINA-967> - IoSession updateThroughput not automatically called * DIRMINA-968 <https://issues.apache.org/jira/browse/DIRMINA-968> <https://issues.apache.org/jira/browse/DIRMINA-968> - Memory leak in SSL Handshake errors * DIRMINA-970 <https://issues.apache.org/jira/browse/DIRMINA-970> <https://issues.apache.org/jira/browse/DIRMINA-970> - ProtocolEncoderOutputImpl.flush() occur a IllegalArgumentException * DIRMINA-972 <https://issues.apache.org/jira/browse/DIRMINA-972> <https://issues.apache.org/jira/browse/DIRMINA-972> - NPE during handshake on Android using SSLFilter * DIRMINA-973 <https://issues.apache.org/jira/browse/DIRMINA-973> <https://issues.apache.org/jira/browse/DIRMINA-973> - IllegalArgumentException thrown on ProtocolCodecFilter.flush * DIRMINA-976 <https://issues.apache.org/jira/browse/DIRMINA-976> <https://issues.apache.org/jira/browse/DIRMINA-976> - ScheduledWriteBytes Increases after Exception on Writing * DIRMINA-977 <https://issues.apache.org/jira/browse/DIRMINA-977> <https://issues.apache.org/jira/browse/DIRMINA-977> - DefaultIoFilterChain.replace does not call register/deregister * DIRMINA-978 <https://issues.apache.org/jira/browse/DIRMINA-978> <https://issues.apache.org/jira/browse/DIRMINA-978> - ClosedSelectorException handling in AbstractPollingIoProcessor * DIRMINA-980 <https://issues.apache.org/jira/browse/DIRMINA-980> <https://issues.apache.org/jira/browse/DIRMINA-980> - Missing implementation of write() method in SerialSessionImpl.SerialIoProcessor * DIRMINA-981 <https://issues.apache.org/jira/browse/DIRMINA-981> <https://issues.apache.org/jira/browse/DIRMINA-981> - IoBuffer GetSlice throw an IllegalArgumentException * DIRMINA-982 <https://issues.apache.org/jira/browse/DIRMINA-982> <https://issues.apache.org/jira/browse/DIRMINA-982> - ProtocolEncoderOutputImpl.flush() throws an IllegalArgumentException if buffers queue is empty * DIRMINA-983 <https://issues.apache.org/jira/browse/DIRMINA-983> <https://issues.apache.org/jira/browse/DIRMINA-983> - Problems with TextLineDecoder and special characters Improvement * DIRMINA-210 <https://issues.apache.org/jira/browse/DIRMINA-210> <https://issues.apache.org/jira/browse/DIRMINA-210> - Investigate removal of static methods in ByteBuffer * DIRMINA-237 <https://issues.apache.org/jira/browse/DIRMINA-237> <https://issues.apache.org/jira/browse/DIRMINA-237> - Improve Spring integration * DIRMINA-572 <https://issues.apache.org/jira/browse/DIRMINA-572> <https://issues.apache.org/jira/browse/DIRMINA-572> - Add Spring support for Mina statemachine * DIRMINA-586 <https://issues.apache.org/jira/browse/DIRMINA-586> <https://issues.apache.org/jira/browse/DIRMINA-586> - Dynamic delimiter support for TextLineCodecFactory * DIRMINA-593 <https://issues.apache.org/jira/browse/DIRMINA-593> <https://issues.apache.org/jira/browse/DIRMINA-593> - Javadoc & documentation for org/apache/mina/filter/reqres * DIRMINA-629 <https://issues.apache.org/jira/browse/DIRMINA-629> <https://issues.apache.org/jira/browse/DIRMINA-629> - The IoServiceStatistics methods are called for every new session creation * DIRMINA-631 <https://issues.apache.org/jira/browse/DIRMINA-631> <https://issues.apache.org/jira/browse/DIRMINA-631> - AbstractIoFilter: increment writen- and receivedMessages statistics on application end of filter chain * DIRMINA-668 <https://issues.apache.org/jira/browse/DIRMINA-668> <https://issues.apache.org/jira/browse/DIRMINA-668> - Modify the way we use IoProcessors * DIRMINA-682 <https://issues.apache.org/jira/browse/DIRMINA-682> <https://issues.apache.org/jira/browse/DIRMINA-682> - We need a better documentation for the ExecutorFilter [was :Writing more than one message will block until the MessageReceived as been fully proceced] * DIRMINA-723 <https://issues.apache.org/jira/browse/DIRMINA-723> <https://issues.apache.org/jira/browse/DIRMINA-723> - OrderedThreadPoolExecutor behavior: configurable queue size, corePoolSize, maximumPoolSize * DIRMINA-752 <https://issues.apache.org/jira/browse/DIRMINA-752> <https://issues.apache.org/jira/browse/DIRMINA-752> - maybe move SerialAddressEditor.class to the mina beans project * DIRMINA-761 <https://issues.apache.org/jira/browse/DIRMINA-761> <https://issues.apache.org/jira/browse/DIRMINA-761> - how to shutdown a mina application * DIRMINA-766 <https://issues.apache.org/jira/browse/DIRMINA-766> <https://issues.apache.org/jira/browse/DIRMINA-766> - Read does not exploit buffer optimally * DIRMINA-767 <https://issues.apache.org/jira/browse/DIRMINA-767> <https://issues.apache.org/jira/browse/DIRMINA-767> - Move encoder/decoder out of the session Attributes * DIRMINA-773 <https://issues.apache.org/jira/browse/DIRMINA-773> <https://issues.apache.org/jira/browse/DIRMINA-773> - org.apache.mina.filter.firewall.Subnet should consider 0.0.0.0/0 as a subnet that contains 'all the ipv4 addresses' * DIRMINA-780 <https://issues.apache.org/jira/browse/DIRMINA-780> <https://issues.apache.org/jira/browse/DIRMINA-780> - Writing null objects to the Session should raise an Exception * DIRMINA-825 <https://issues.apache.org/jira/browse/DIRMINA-825> <https://issues.apache.org/jira/browse/DIRMINA-825> - Add host and port info to BindException thrown by NioSocketAcceptor#open * DIRMINA-838 <https://issues.apache.org/jira/browse/DIRMINA-838> <https://issues.apache.org/jira/browse/DIRMINA-838> - Redundant AttributeKey allocation resulting in high garbage collector activity * DIRMINA-913 <https://issues.apache.org/jira/browse/DIRMINA-913> <https://issues.apache.org/jira/browse/DIRMINA-913> - Add a method IoSession.isSecured() to tell the user if the SSL filter has been started or not * DIRMINA-921 <https://issues.apache.org/jira/browse/DIRMINA-921> <https://issues.apache.org/jira/browse/DIRMINA-921> - Maven build fails if test phase is given * DIRMINA-929 <https://issues.apache.org/jira/browse/DIRMINA-929> <https://issues.apache.org/jira/browse/DIRMINA-929> - AbstractPollingIoProcessor patch to mark buffer as free * DIRMINA-934 <https://issues.apache.org/jira/browse/DIRMINA-934> <https://issues.apache.org/jira/browse/DIRMINA-934> - Replace synchronized with a Semaphore for better performance * DIRMINA-941 <https://issues.apache.org/jira/browse/DIRMINA-941> <https://issues.apache.org/jira/browse/DIRMINA-941> - DefaultIoFilterChain (or any other class) should not catch Throwable without re-throwing * DIRMINA-945 <https://issues.apache.org/jira/browse/DIRMINA-945> <https://issues.apache.org/jira/browse/DIRMINA-945> - DefaultVmPipeSessionConfig is empty 新特性: * DIRMINA-23 <https://issues.apache.org/jira/browse/DIRMINA-23> <https://issues.apache.org/jira/browse/DIRMINA-23> - New transport type: non-NIO sockets * DIRMINA-68 <https://issues.apache.org/jira/browse/DIRMINA-68> <https://issues.apache.org/jira/browse/DIRMINA-68> - Automatic reconnect configuration for client channels. * DIRMINA-389 <https://issues.apache.org/jira/browse/DIRMINA-389> <https://issues.apache.org/jira/browse/DIRMINA-389> - Create a Connection Throttle Filter * DIRMINA-453 <https://issues.apache.org/jira/browse/DIRMINA-453> <https://issues.apache.org/jira/browse/DIRMINA-453> - Multiple IoServices for one java.nio.Selector * DIRMINA-485 <https://issues.apache.org/jira/browse/DIRMINA-485> <https://issues.apache.org/jira/browse/DIRMINA-485> - SCTP Transport based on APR (Apache Portable Runtime) * DIRMINA-489 <https://issues.apache.org/jira/browse/DIRMINA-489> <https://issues.apache.org/jira/browse/DIRMINA-489> - Composite IoBuffer * DIRMINA-507 <https://issues.apache.org/jira/browse/DIRMINA-507> <https://issues.apache.org/jira/browse/DIRMINA-507> - IoBuffer: Support prepending data * DIRMINA-554 <https://issues.apache.org/jira/browse/DIRMINA-554> <https://issues.apache.org/jira/browse/DIRMINA-554> - A hook between bind() and accept() * DIRMINA-655 <https://issues.apache.org/jira/browse/DIRMINA-655> <https://issues.apache.org/jira/browse/DIRMINA-655> - Add a more general purpose text based decoder * DIRMINA-816 <https://issues.apache.org/jira/browse/DIRMINA-816> <https://issues.apache.org/jira/browse/DIRMINA-816> - NioSocketConnector missing defaultLocalAddress * DIRMINA-964 <https://issues.apache.org/jira/browse/DIRMINA-964> <https://issues.apache.org/jira/browse/DIRMINA-964> - Custom NIO SelectorProvider for NioSocketAcceptor 任务: * DIRMINA-56 <https://issues.apache.org/jira/browse/DIRMINA-56> <https://issues.apache.org/jira/browse/DIRMINA-56> - Create a Benchmark Suite That Generates HTML Reports. * DIRMINA-188 <https://issues.apache.org/jira/browse/DIRMINA-188> <https://issues.apache.org/jira/browse/DIRMINA-188> - All-in-one JAR * DIRMINA-477 <https://issues.apache.org/jira/browse/DIRMINA-477> <https://issues.apache.org/jira/browse/DIRMINA-477> - Update page about differences between 1.x and 2.x * DIRMINA-721 <https://issues.apache.org/jira/browse/DIRMINA-721> <https://issues.apache.org/jira/browse/DIRMINA-721> - Get rid of multiton iohandler and netty2 codec as proposed on ML 测试: * DIRMINA-922 <https://issues.apache.org/jira/browse/DIRMINA-922> <https://issues.apache.org/jira/browse/DIRMINA-922> - Add a benchmark project to compare with other IO frameworks 希冀: * DIRMINA-250 <https://issues.apache.org/jira/browse/DIRMINA-250> <https://issues.apache.org/jira/browse/DIRMINA-250> - Provide a test suite for a transport implementor. * DIRMINA-916 <https://issues.apache.org/jira/browse/DIRMINA-916> <https://issues.apache.org/jira/browse/DIRMINA-916> - Adding Http Status code 101 "101 Switching Protocols" in org.apache.mina.http.api.HttpStatus
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络应用程序提供了非常便利的框架。当前发行的 MINA 版本支持基于 Java NIO 技术的 TCP/UDP 应用程序开发、串口通讯程序(只在最新的预览版中提供),MINA 所支持的功能也在进一步的扩展中。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-09/107167.htm