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

Это должно решить вашу проблему.

Другие вопросы по тегам