很多人在问为什么使用EJB时,得到的答案大多是EJB容器提供了对enterprise bean安全管理和事物管理,便于开发人员关注于业务上的开发,而不用把过多的时间浪费在处理和业务无关的工作上;

 

个人不认为这种说法是全面的,因为如果将Spring和EJB作比较的话,Spring也提供了良好的安全管理和事物管理机制,而且Spring是轻量级,如果单纯从安全管理和事物管理考虑,Spring不失为好的选择;

 

事实上EJB真正的应用应该是分布式系统,当位于不同机器上的应用程序有依赖关系,即一台机器上的应用需要调用另一台机器上的逻辑来完成相关操作,EJB可以轻而易举实现这个功能,因为EJB底层使用rmi机制,同时EJB容器可以完成对enterprise bean良好的安全管理和事物管理;

 

若分布式系统只是数据库分布系统,Spring可以通过org.springframework.transaction.jta.JtaTransactionManager支持事物管理;同时Spring也提供了访问EJB的机制,对现存的Spring系统需要实现逻辑上的分布式时,可以结合EJB使用。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐