其中获得UserTransaction资源的方式有三种,除了用EJB资源的方式注入以外,还有以下两种方式: (1) JNDI查找 Context context = new InitialContext(); UserTransaction userTransaction = (UserTransaction) context.lookup(“java:comp/UserTransaction”); userTransaction.begin(); userTransaction.commit(); 如果在EJB之外,则可使用此方法,如在不支持依赖注入的JBoss4.2.2的Web工程或helper class即帮助器类中都可以。 (2)EJBContext @Resource private SessionContext context; ... UserTransaction userTransaction = context.getUserTransaction(); userTransaction.begin(); userTransaction.commit(); getUserTransaction方法只能在BMT中使用。如果在CMT中使用,则会抛出IllegalStateException异常。且在BMT中不能使用EJBContext的getRollbackOnly和setRollbackOnly方法,如果这样使用,也会抛出IllegalStateException异常。
其中获得UserTransaction资源的方式有三种,除了用EJB资源的方式注入以外,还有以下两种方式: (1) JNDI查找 Context context = new InitialContex
最新推荐文章于 2023-01-04 15:22:34 发布