给定的示例需要JTA,Java Transaction
API。它将事务管理委托给容器。启用JTA后,如果您使用的是
@StatelessEJB,则默认情况下,单个方法调用将被计为单个完整事务。这使您无需编写任何tx.begin,tx.commit,tx.rollback等样板即可编写干净的代码。
像JSF,EJB和JPA一样,默认情况下,JTA在像Tomcat和Jetty这样的准JSP /
Servlet容器上不可用。像JSF,EJB和JPA一样,您需要在Tomcat上分别安装JTA。
An alternative is to switch from a JSP/Servlet container to a real Java EE
(web profile) container, such as Glassfish, JBoss AS and TomEE. It offers
everything directly out the box with regard to Java EE. Note that JBoss AS and
TomEE basically use Tomcat’s JSP/Servlet engine under the covers.



