之前我使用了seam 2.1和JPA 1以及JBOSS 5.在这个配置中,我使用下面的代码访问用户事务:
UserTransaction userTx = Transaction.instance();
if (userTx != null) {
boolean previousTransaction = Transaction.instance().isActive();
if (!previousTransaction) {
Transaction.instance().begin();
}
userTx.setTransactionTimeout(10 * 60);
entityManager().joinTransaction();
entityManager().persist(pur);
entityManager().flush();
userTx.commit();
if (previousTransaction) {
userTx.begin();
}
}
}
之后我和wildfly 8.2.0一起迁移到了seam 2.3和jpa 2。我无法使用上面的代码访问用户事务,所以任何人都可以指导我如何在wildfly 8.2.0中访问用户事务。?
我主要寻找的是当我使用entitymanagaer进行刷新时立即保留我的更改的方法,它不应该等待方法退出。
请指导我。
答案 0 :(得分:0)
您可以使用以下代码获取UserTransaction。
UserTransaction ut = EJBClient.getUserTransaction("node1");
在上面的代码中,node1是您必须设置为WildFly的VM参数。请添加以下VM参数。
-Djboss.node.name =节点1
这可以解决您的问题。