摘要:
本文的起因源于一次quartz的异常,在win2003正常运行的程序放在linux环境就抛出异常了,虽然找出异常没花我多长时间,不过由此加深了对quzrtz的了解;古人说,三折肱,为良医,说明经验对于我们平时开发的重要。quartz是一个任务调度框架,对于开发者而言通常是透明的,如果不熟悉内部机制,碰到问题往往会束手无策;接下来本人本着开放的精神,来阐述本人对quartz的理解。本人是采用spring对quartz封装的实现,spring的org.springframework.scheduling.quartz.SchedulerFactoryBean类用于初始化Scheduler对象并启动 阅读全文
2013年6月24日 #
摘要:
转载 http://blog.csdn.net/cutesource/article/details/6192163最后我们再看看NIO方面最著名的框架Mina,抛开Mina有关session和处理链条等方面的设计,单单挑出前端网络层处理来看,也采用的是与Jetty和Tomcat类似的模式,只不过它做了些简化,它没有隔开请求侦听和请求处理两个阶段,因此,宏观上看它只分为两个阶段。先看看它的类图:其中:SocketAcceptor起线程调用SocketAcceptor.Work负责新连接侦听,并交给SocketIoProcessor处理SocketIoProcessor起线程调用SocketIo 阅读全文
摘要:
本文转载自 http://blog.csdn.net/cutesource/article/details/6192145下面再来看看Tomcat是如何使用NIO来构架Connector这块的。先看看Tomcat Connector这块的类图:其中:NioEndpoint负责组装各部件Acceptor负责监听新连接,并把连接交给PollerPoller负责监听所管辖的channel队列,并把请求交给SocketProcessor处理SocketProcessor负责数据处理,并把请求传递给后端业务处理模块在整个服务端处理请求的过程可以分为三个阶段,时序图如下所示:阶段一:监听并建立连接这一阶段 阅读全文
摘要:
本文转载自http://blog.csdn.net/cutesource/article/details/6192016如何正确使用NIO来构架网络服务器一直是最近思考的一个问题,于是乎分析了一下Jetty、Tomcat和Mina有关NIO的源码,发现大伙都基于类似的方式,我感觉这应该算是NIO构架网络服务器的经典模式,并基于这种模式写了个小小网络服务器,压力测试了一下,效果还不错。废话不多说,先看看三者是如何使用NIO的。Jetty Connector的实现先看看有关类图:其中:SelectChannelConnector负责组装各组件SelectSet负责侦听客户端请求SelectChan 阅读全文