apache mina
文章平均质量分 83
高效能人生
这个作者很懒,什么都没留下…
展开
-
the reactor pattern and java nio
在《java NIO》作者PPT《How to Build a Scalable Multiplexed Server With NIO》 和 Doug Lea 《Scalable IO in Java》PPT中 都有java nio的实现是通过reactor pattern 来实现的有说明。java nio作为一种跨平台IO操作。在不同平台上面封装了对应平台的IO模型。 在reactor原创 2015-07-11 09:28:03 · 754 阅读 · 0 评论 -
Apache mina,Netty的起源和历史
总结:Apache mina 和Netty作者作为韩国一流学府计算机科学的本科毕业生,从毕业就开始开发Java网络框架。JDK1.4在2003年开始出现Java NIO.从起先的Netty 到 Apache Mina ,中间穿插着XSocket另外一个java网络框架,又到JBoss Netty ,直到今天的Netty网络框架。作者在世界顶级公司,苹果,推特和红帽子都有工作经验。可以说十年磨一剑。造就了今天Apache mina和Netty 这些经典网络框架被世界所使用。今天的Netty依旧不断在维原创 2015-11-23 22:32:48 · 7220 阅读 · 0 评论 -
apache mina: IoFilterChain 过滤链
在apache mina中,IoFilterChain是与业务逻辑关联最紧密的。在IoFiterChain接口中与业务相关的是以fireXXX()开头的方法。原创 2016-01-20 13:04:15 · 521 阅读 · 0 评论 -
apache mina:SimpleIoProcessorPool
SimpleIoProcessorPool 主要处理IO输入输出线程池的管理。主要功能为创建线程池,把IoSession与IoProcessor线程相关联,管理IoProcessor线程。原创 2016-01-20 14:13:22 · 1401 阅读 · 0 评论 -
apache mina 与 SEDA
在apache mina创建之初作者就开始讨论SEDA在mina中的应用。在mina官网中也配置mina的线程模型时,也提及SEDA。那让我们看看SEDA在apache mina中的应用吧。1 -通过队列queue把服务分成多个stages. 1.1 每一个阶段执行请求过程中的一个部分。1.2 阶段内部通过事件驱动,特别是非阻塞模型 。1.3 用队列来区分边界原创 2016-01-20 15:35:33 · 820 阅读 · 0 评论 -
apache mina: IoSession结构剖析
在创建IoSession时,每一个IoSession都有自己独立的DefaultIoFilterChain。在IoSession中有2个重要的成员变量。DefaultIoSessionAttributeMap 是通过ConcurrentHashMap实现的。DefaultWriteRequestQueue是通过ConcurrentLinkedQueue实现的。原创 2016-01-21 10:23:34 · 894 阅读 · 0 评论 -
Mina Dump:网络协议调试
在做mina协议通信时,可以把消息流,通过16进制dump下来,保存多次使用,来查询bug。也可以在生成上记录BUG原创 2016-06-05 19:06:57 · 849 阅读 · 0 评论 -
apache mina : 用户自定义数据存储
从整体的设计与实现,每一次Netty都是在apache mina 之上的提升和优化, 也许会更加的简单方便。可以是因为先入为主的原因,总感觉apache mina实现的更加简单,容易上手学习。原创 2016-06-05 19:09:34 · 509 阅读 · 0 评论 -
《Pro Java 7 NIO.2 》 The Asychronous Channel API 部分翻译
Groupsthe asynchronous API introduces a class named AsynchronousChannelGroup, which presents the concept of an asynchronous channel group, in which each asynchronous channel belongs to a c原创 2016-08-12 16:11:15 · 538 阅读 · 0 评论 -
Java AIO 认识
在基本熟悉了JDK7中异步IO的关键类,以后有助于我们深入学习。在java语言和平台中,存在广泛使用的网络开源库屈指可数。netty 和mina出自韩国人之手,netty和mina主要使用select网络模型,主要使用jdk中的nio类库。netty 和mina在各个行业被广泛使用。 netty 和mina 以及 java nio本身都是对reactor 模式的实现。在操作系统层面都是通过select函数来实现。在windows操作系统中,出现I/o Completion port 后,被广泛使用来提供网络原创 2016-08-12 16:08:00 · 647 阅读 · 0 评论 -
mina 作为客户端源代码剖析
Connect 主线程过程:1 -NioSocketConnector 调用connect()方法,来连接远程端口。NioSocketConnector(AbstractIoConnector).connect(SocketAddress)。2 -通过NioSocketConnector.newHandle(SocketAddress) 方法创建一个SocketChannel 对象。原创 2016-08-12 15:56:37 · 438 阅读 · 0 评论 -
apache mina: 写数据过程
apache mina 把数据从应用层写入到tcp/ip网络层过程代码剖析原创 2016-06-05 19:11:06 · 1509 阅读 · 0 评论 -
Apache mina:IoHandler
在Apache mina中过滤链IoFilterChain 中最后一个TailFilter 会调用IoSession相关联的方法。所以,IoHandler和IoFilter都是在IoProcessor线程中执行的。IoHandler放在所有IoFilter过滤链最后来执行的。原创 2015-11-16 21:48:07 · 694 阅读 · 0 评论 -
The Reactor pattern 目的和优点
the Reactor Pattern from An Object Behavioral Pattern for Demultiplexing and Dispatching Handles for Synchronous Events intent:The Reactor design pattern handles service requests that are de翻译 2015-07-08 16:05:24 · 621 阅读 · 0 评论 -
Apache mina -Processor线程逻辑
Processor 是AbstractPollingIoProcessor 抽象类内部的私有类。Processor 是一个处理I/O输出输出数据流的主要循环主体。1、 优先处理新IoSession 的逻辑处理2、抖动处理3、IoSession 的输入输出工作。原创 2015-07-12 09:52:43 · 1348 阅读 · 0 评论 -
mina 学习3-mina线程模型
Apache Mina 中关于线程模型的关键源代码: 在创建 NioSocketAcceptor acceptor = new NioSocketAcceptor(); 时刻,创建一个SimpleIoProcessorPool 线程池,该线程池最小数量为1个, 默认数量为 /** The default pool size, when no size is prov原创 2015-07-11 19:10:42 · 821 阅读 · 0 评论 -
Scalable IO in Java -Doug Lea
Scalable IO in Java -Doug LeaScalable network services" Event-driven processing" Reactor patternBasic versionMultithreaded versionsOther variants" Walkthrough of java.nio nonblockin转载 2015-07-10 23:07:58 · 1465 阅读 · 0 评论 -
Mina 起源和作者简介
Genesis of MINAby Trustin LeeIn June 2004, I released a network application framework, 'Netty2'. It was the first network application framework that provides event-based architecture in Java c原创 2015-07-07 23:10:43 · 1918 阅读 · 0 评论 -
mina学习1
在启动程序时,NioSocketAcceptor 绑定本地端口时,NioSocketAcceptor(AbstractPollingIoAcceptor).startupAcceptor() 内部类为一个线程类,用来接收新socket链接。 同时,Acceptor启动IoProcess线程来处理IO读取操作。 Acceptor线程调用堆栈如下:NamePre原创 2015-04-08 21:41:47 · 571 阅读 · 0 评论 -
How to Build a Scalable Multiplexed Server With NIO
How to Build a Scalable Multiplexed Server With NIO 转自 JAVA NIO作者PPTArchitect a scalable, multiplexed Java Server using the New I/O (NIO) and Concurrency APIsBuilding an NIO ServerUnd转载 2015-07-10 22:52:09 · 510 阅读 · 0 评论 -
mina学习2
Acceptor线程在等待新socket进入时,执行run()流程如下:AbstractPollingIoAcceptor$Acceptor.processHandles(Iterator) AbstractPollingIoAcceptor$Acceptor.run() NamePreservingRunnable.run() ThreadPoolExecutor.r原创 2015-04-08 22:04:19 · 655 阅读 · 0 评论 -
Apache mina :IoBuffer
IoBufferThis is a replacement for ByteBuffer. MINA does not use NIO ByteBuffer directly for two reasons:It doesn't provide useful getters and putters such as fill, get/putString, and get/putAsciiI原创 2015-11-16 21:32:24 · 396 阅读 · 0 评论 -
apache mina: 架构
在2004年java发布NIO1.0版本,这个版本已经过去了十年了。但是java领域中的网络框架比较成熟和流行的主要还是出自韩国作者的apache mina 和jboss netty.apache mina作为reactor模式的java实践可以作为学习reactor模式最合适的源代码。apache mina 架构中,整个架构非常清晰。这里我们主要从服务器端入手来学习整个apache mina...原创 2018-03-27 09:59:12 · 553 阅读 · 0 评论