非常感谢斑竹的指点,的确如您所讲的Java带给我们群计算能力,EJB技术优势正体现在这里。
从一开始我个人也担心过以后业务增长单机无法应付,但也没人重视过!
的确很多人不懂EJB,当然也包括我,而且也不重视EJB,很多人拿EJB跟Spring来比较,但那都是在单机环境下的比较,没有什么意义!两个都非常优秀,只是应用场合不一样而已。
在该项目的改造中没有抛弃Spring,是把EJB跟Spring结合起来了,在EJB3中利用了Spring提供的SpringBeanAutowiringInterceptor很容易整合起来。Spring担任着整合第三方框架的任务(例如IBatis),Session Bean提供Facade。
将几个关键业务分别做成了EJB组件,对压力较大的业务做了集群,现在的状况得到了很大改善:我们很清楚知道哪些业务繁忙,从而对繁忙业务增加服务器,增加服务器的代价很小,控制的粒度可以很细,比对整个应用做Web集群效果明显很多;将不同业务做成EJB组件以后,层次结构清晰了很多,也降低了耦合度,之前一个应用包括了所有业务,项目组很多人一下子难以理清楚;
呵呵,接下来还有好多事情要做,希望能在实际应用中更深入地理解EJB