2016-08-17 15 views
1

Раньше я использовал шов 2.1 и JPA 1 наряду с JBOSS 5. В этой конфигурации я доступ к пользовательской транзакции с помощью кода ниже:UserTransaction в wildfly 8.2.0

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.?

Что я в первую очередь ищу, так это то, как сразу же изменить мои изменения, когда я делаю флеш с помощью entitymanagerer, и он не должен ждать выхода метода.

Прошу вас, руководствоваться этим.

ответ

0

Вы можете получить UserTransaction, используя приведенный ниже код.

UserTransaction ut = EJBClient.getUserTransaction("node1"); 

В приведенном выше коде node1 является аргументом VM, который вы должны установить для своего WildFly. Добавьте приведенные ниже аргументы VM.

-Djboss.node.name = node1

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