理解ejb3和JTA的关系

时间:2015-04-25 20:47:44

标签: java-ee jpa ejb-3.0 jta

我想了解ejb3和JTA的关系。 JEE应用服务器可以实现JTA而无需实现EJB3吗? 如果我的代码在JBoss 7上运行,那么使用JTA和JPA(没有ejb注释)注释来处理事务是否足够呢?

1 个答案:

答案 0 :(得分:1)

是的,应用服务器可以在没有EJB的情况下实现JTA。是的,如果您需要从应用程序服务器获得所有事务,那么EJB中的容器管理事务支持可能不是使用EJB编程模型的充分理由,特别是如果您有权访问支持{{{ 1}}注释。

EJB编程模型是各种不同技术的组合,随着时间的推移,各种功能被拆分,因此可以在没有整个EJB编程模型的情况下使用它们(例如,@Transactional容器管理的事务,或EJB定时器的某些用途的JSR 236)或正在逐步淘汰(例如,实体bean被JPA取代,或者远程EJB对于行业转向REST不太重要)。作为一名应用程序开发人员,您必须尝试在使用编程模型之间找到最佳位置,这些编程模型可以提高您的工作效率,而无需使用如此多的编程模型,您的应用程序仅在具有大量开销的大型/单片应用程序服如果由于其他原因需要EJB,那么使用容器管理的事务可能是有意义的,但如果不这样做,那么它可能不会。