UserTransaction в wildfly 8.2.0
Ранее я использовал шов 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();
}
}
}
После этого я перешел на шов 2.3 и jpa 2 вместе с wildfly 8.2.0. Я не могу получить доступ к пользовательской транзакции с помощью вышеуказанного кода, поэтому кто-нибудь может подсказать мне, как получить доступ к пользовательской транзакции в wildfly 8.2.0.?
То, что я в первую очередь ищу, это способ немедленно испортить мои изменения, когда я делаю сброс с использованием entitymanagaer, и он не должен ждать выхода метода.
Пожалуйста, объясните мне это.
1 ответ
Вы можете получить UserTransaction, используя приведенный ниже код.
UserTransaction ut = EJBClient.getUserTransaction("node1");
В приведенном выше коде node1 - это аргумент виртуальной машины, который вы должны установить в свой WildFly. Пожалуйста, добавьте ниже аргументы VM.
-Djboss.node.name = узел1
Это должно решить вашу проблему.