如果不考虑分布式计算,即不考虑一个业务由多台服务器协作完成的情况,我认为ejb集群和spring集群没有什么太大的差别,我也认为80%的项目不需要ejb.另外,我认为部分集群,不需要考虑内存复制,即当某台服务器宕机,仅仅把用户的请求重定向到另外一台服务器,业务将不会从断点处继续执行,对于用户体验而言,将是跳转到登录页面重新开始。另外,重量级及轻量级的界限是什么,如果基于spring的项目集群了10台服务器,算不算重量级?
请各位高手发表自己的看法.
请各位高手发表自己的看法.
解决方案 »
- 子类对父类构造函数的调用问题
- 向上转型问题
- 求双线性内插算法, 三次卷积法.
- ftpclient
- 请教!!
- 关于java解析字符串,然后存入数据库的一个问题,求教解答。
- 大家用JB9的时候请千万别登陆到网上。否则你会收到一个封信!
- 菜鸟学飞,低高度问题,谢谢
- 请教:为何在Jbulider3中,程序无法找到com.sun.java.tree.* 类?
- 想问一下Graphics类中的图形坐标系统的Y轴是向下的,可一般需要画Y轴向上的图(比如走势分析等),不知这该怎么解决?我刚学JAVA,请指点一二
- java中如何实现日历控件的程序????
- 请问如何实现类似JBuilder中编辑区域上可以用左上角小叉关闭窗口
不止如此,真正需要使用ejb的很少,项目使用ejb的的公司更少
1:更加安全,因为app server一般部署在放火墙里面;
2:对于一些关键业务,不会相互抢占资源;
3:如果采用ejb的话,可以在不同的机器发布不同的模块,进行分布式计算;但我认为不分开的话,就象spring,我们一样可以做集群,而且开发生产率高多了,需要分布式计算的项目真的不多.
csdn里面很多次看到招聘帖,都要求ejb??
80% 不用 ejb ? 到底咋会事情泥? 呵呵
spring如何事项类似于 无状态 session bean 呢?服务层对象通常是无状态的。无状态的服务层具有很高的可扩展性,无需状态复制,不必
为每个客户端分配额外资源,况且,创建中间层的一个主要动机就是要在多个客户端之间共享
资源。况且,自从ejb2.0(现在已经3.0了)出来后,增加了local 接口,就算不用分布,ejb 也同样可以用,都说ejb复杂,spring 轻便,spring真的象你们想象的那么"轻"吗?我天天都在rebuild ejb,redeploy ejb,也没觉得复杂,什么事情做多了,都TMD是体力劳动。
EJB的不足:侵入性太强,强耦合,不便于测试,但ejb3.0已有很大的改进,可惜当前对ejb3.0支持最好的JBoss EJB 3.0也还没有正式版;Spring的优点:IOC,AOP,声明性事务,测试方便而且,我基于appfuse做项目,确实开发生产率高,通过集群也能满足的我性能要求.
1:spring集群和ejb集群,ejb集群强在那些地方?
2:web服务器和app服务器物理上分开的好处有哪些?我想大家搞清楚了这些问题,对大家以后的架构选型会有帮助的.
也很平常。Spring的优点:声明性事务,这个不是spring的专利,ejb 的部署描述符也同样可以用来声明事务。另外你提到了ejb集群,我不了解spring 目前有哪些应用服务器可以作为spring的容器(大家见笑了),而当ejb的无状态bean与weblogic配合,可以用少量的bean实例为大量的客户端提供服务。
例如,有10000个客户端,每个都要使用帐户无状态会话ejb,在任何给定的时刻,只有30个用户同时访问他们的帐户余额,由于所有的实例都是完全相同的,所以服务器可以使用一个相对较小的,只有30个实例的池为大型客户端(10000)提供服务,这个spring能做到吗? 怎么做?什么容器来支撑他。这也是无状态编程模型借助weblogic集群提供的一种明显的优势。又因为所有的无状态会话bean的实例都是等价的,所以weblogic还可以考虑多台服务器,使用负载均衡把无状态bean方法调用路由到集群的各台服务器上。请问spring 又如何实现?ejb 的优点说到细处何止这些呢。请楼主说说spring IOC,AOP在具体应用的的好处呢。
所以martin flower 宁肯把他叫依赖注入,而AOP 面向切面的编程 是一中设计思想,难道在ejb的设计模式当中我不能用到吗? 非要用spring吗?
集群
 事务处理
 安全
 日志
 cache
 国际化
 报表
 打印
 客户端校验
 重复提交
 异常处理
 分页等等上面所列的这些,ejb能做到的,spring也可以,很多人说spring的集群做的不够,我不是很明白.
另外,对于你提出的问题,下面是我的回复:
1:差不多所有的J2EE容器都支持spring,weblogic 9甚至集成了spring
2:我在上面也写了,ejb和spring都支持声明性事务
3:我也写了ejb的对象池,但这仅仅就是一个cache机制
4:至于ioc和aop的概念我简单讲一下,ioc主要的好处是解耦,至于aop,它是面向方面编程的意思,它也不是spring的专利,spring是通过动态代理和cglib实现的.另外,我在我的上一个项目中,架构和楼上的兄弟所说的一样,也是用的weblogic,也用了stateless session bean,当然我也用了aop技术,我用的是aspectj
我干吗非要把web服务器和app服务器从物理上分开啊? 分开还增加了远程调用的开销.
请真正的高手给我个答案吧!
我们学习+期待!
1:更加安全,因为app server一般部署在放火墙里面;
2:对于一些关键业务,不会相互抢占资源;
3:如果采用ejb的话,可以在不同的机器发布不同的模块,进行分布式计算;但我认为不分开的话,就象spring,我们一样可以做集群,而且开发生产率高多了,需要分布式计算的项目真的不多.
而80%的企业应用都不需要这么复杂的构架,SPRING则可以完成EJB的大部分问题,不需要EJB这么复杂的构架.而且SPRING是非侵入式的,EJB是侵入式的,这样更符合设计原则.
1、已经不需要传统的"web层"了,而是“大量的存HTML/css/javascript/ajax”+后端的少量的jsp/servlet/spring+分布式数据层”;
2、尽量采用服务端无状态的session,多利用cookie端sesson或memche中央缓存集群session;
3、不选EJB,更关键是省钱(商业的EJB容器太贵了,掌握EJB的程序员太贵了);
4、选择spring或其他,也是为了自由,不依附到仅有的几家大IT枭雄的手里;
5、其他可利用的开源项目,可以更好的添加到支持spring的架构里。6、最最关键的是:满足需要的就是好的。