【发布时间】:2015-10-16 12:57:10
【问题描述】:
我对在 Apache Tomcat 上的 Spring 框架中使用 JTA 有一些困惑,我希望有人能澄清一下,因为经过多次研究我似乎还没有找到正确的答案。
我正在使用 Spring Framework 开发一个在 Apache Tomcat 6 上运行的 Web 应用程序。
我在某处读到 Spring 确实支持 JTA,但它委托给底层 JavaEE 应用程序服务器。现在这是我感到困惑的地方,因为我 Tomcat 不是一个完整的 JavaEE 应用程序服务器——它只是一个 servlet 容器,而且我相信它不像完整的 JavaEE 应用程序服务器(Glassfish/Wildfly 等)那样提供 JTA 实现。可以。
但是当我执行以下操作时,它的交易方面会起作用:
@Transactional
public class ServiceClassImpl implements ServiceInterface {
// code here that involves transactions e.g. calling DAO code
...
}
所以,我很困惑。希望有人能赐教。
【问题讨论】:
-
成分相似但配方不同。我认为这个问题询问如何在 Tomcat 6 上使用 JTA。而我的问题是质疑 Tomcat 6 是否已经允许 JTA - 因为当我使用 JavaEE @Transactional 注释时 - 它可以工作
-
您的代码可以工作的事实与 JTA 有什么关系?
-
你不应该在 2015 年开发任何新的东西来在 Tomcat 6 中运行。你的两个主要版本已经过时了。
-
@zeroflagL 也许这就是我的问题的答案。使用 javax.transaction.transactional 注释有效的事实可能意味着它与 JTA 无关,但可能与底层 JDBC 本地事务无关。
标签: java spring spring-mvc tomcat jta