写了几个月的通讯中间件,再次带领一个J2EE项目,使用WebWork、Spring、Hibernate,感觉写J2EE项目就像在休假,要考虑的事情少之又少,无论是效率、异常处理、线程调度、架构模式,一切都不再那么重要,无需考虑那么多,只要语义清晰,沟通流畅就好了。
想起一周前跟Jerry聊天,说起因为Unixware下JDK1.3的notify语义的不稳定问题而一天内重新编写了三次通讯框架,最后采用了完全非框架的过程化写法,Jerry说应该先写出一个实现,然后在之上重构,就像爬山一样,不可能一下子攀登到顶峰,当时虽然心里感觉不是这样,但竟一时语塞,不知从何说起,再次回到J2EE开发,才恍然明白那天的感觉,框架开发和业务开发的不同就在于,很难重构,尤其是通讯框架,架构通常决定了它的几个重要指标。
架构模式不同于设计模式,设计模式的问题可以通过重构解决,而架构模式几乎只能重新做(当然也有例外),架构一旦确定,很多东西就无法再加入,所以为什么很多开源的J2EE框架在大版本升级后不得不抛弃向后兼容。这也是为什么国产通讯框架Cindy的作者想在其中加入FilterChain,而最终放弃的原因,因为这对基础库的改动实在太大。
而MINA的架构就足够灵活,它屏蔽了不同通讯方式和通讯底层事件机制的差异,就像在如同Cindy和Netty2这种基于NIO的reactor模式之上的框架,要想重构到BIO,就几乎要全部重写,不过Netty2要好一些,毕竟有Netty1作为铺垫,所以在NIO的reactor的路上走的不是很远(NIO的reactor实现真是的不咋个),而MINA则只需要在SocketIoProcessor中使用Helf Sync/Helf Async模式替换掉reactor之上的事件处理即可,当然,最好还要提供线程池以便进行overload shield,在向Apache LDAP团队提交了MINA的JDK1.3核心库时也曾想提起该问题,可惜后太忙,忘记了。不过我想以Trustin的聪明,一定会想到这个问题。
分享到:
相关推荐
J2EE项目--"都市供求信息网" 其中包括所有的源代码
精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例.rar
精通J2EE--ECLIPSE、STRUTS、HIBERNATE及SPRING整合应用案例 代码 ch06-2
赠送jar包:geronimo-j2ee-management_1.1_spec-1.0.1.jar; 赠送原API文档:geronimo-j2ee-management_1.1_spec-1.0.1-javadoc.jar; 赠送源代码:geronimo-j2ee-management_1.1_spec-1.0.1-sources.jar; 包含...
精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例完整源码.zip
本书较为全面地介绍J2EE Web应用开发的程序设计技术。书中介绍了相关的知识点,然后讲解网上购物子系统、公告管理系统、网上书店、BBS系统、信息发布平台、学生课程及成绩管理系统等8个实用的系统。
J2EE -- 字符编码问题 J2EE -- 字符编码问题 J2EE -- 字符编码问题 J2EE -- 字符编码问题
J2EE---AjaxJ2EE---AjaxJ2EE---AjaxJ2EE---AjaxJ2EE---AjaxJ2EE---AjaxJ2EE---AjaxJ2EE---AjaxJ2EE---AjaxJ2EE---AjaxJ2EE---AjaxJ2EE---Ajax
<精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例>源码和数据库。这是第5卷,请下载完7卷后解压。
精通J2EE--Eclipse、Struts、Hibernate及Spring整合应用案例
本文从五个方面对J2EE进行了比较全面的介绍。从J2EE的概念说起,到它的优势,到J2EE典型的四层模型,和它的框架结构,最后是J2EE十三 种核心技术的一个简介。本文分门别类的对J2EE中的服务,组件,层次,容器,API...
J2EE--tutorial.chm java jsp js python sql/plsql/oracle/mssql/mysql c# software
核心J2EE模式-DAO(中文版)----------java学习必备
深入掌握J2EE技术----多个教程,够你用的。
J2EE-API-7和J2EE-API-6中英文对照版,专为java企业级开发提供参考文档,这两种文档收集不易,希望大家多多支持。
J2EE7-API-官方英文版 建议大家收藏起来,没事多看看。
J2EE试题-训后(from 上海) J2EE试题-训后(from 上海) J2EE试题-训后(from 上海)
中文版EXPERT-ONE-ON-ONE-J2EE-DEVELOPMENT-WITHOUT-EJB.part2.rar
J2EE1.5-API.chm英文版,
J2EE_Spring_Stucts_Hibernate架构-经典_435页.pdf 本课程给出J2EE 平台技术概念上的一格较为清晰而完整的思路,帮助学生掌握各技术 间的相互关系和重要的思想。通过一系列的实战训练,使学生掌握基于J2EE 平台的...