Получение пользовательской транзакции JTA в Wildfly 14 - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь получить UserTransaction в Wildfly 14. Согласно эту ссылку @Resource необходимо использовать с сопоставленным именем:

public class TransactionTestCase {  

    @Resource(mappedName = "java:/module/UserTransaction")  
    private UserTransaction  ut
    ...... 

  }  

Но при развертывании, когда я запускаю сервер, я получаю:

18: 24: 53,139 ОШИБКА [org.jboss.as.controller.management-operation] (Поток загрузки контроллера) WFLYCTL0013: Ошибка операции («развертывание») - адрес: ([("deploy" => "app-2.0.ear")]) - ошибка описание: { "WFLYCTL0412: обязательные службы, которые не установлены:" => ["jboss.naming.context.java.module.UserTransaction"] , "WFLYCTL0180: Службы с отсутствующими / недоступными зависимостями" => [ "Jboss.naming.context.java.comp. \" Приложение-2,0 \». \ "Приложение-EJB-2,0 \". UserDAO.env. \ "App.util.DAOParent \". Ут отсутствует [jboss.naming.context.java.module.UserTransaction] ", "Jboss.naming.context.java.comp. \" Приложение-2,0 \». \ "Приложение-EJB-2,0 \". UserRoleDAO.env. \ "App.util.DAOParent \". Ут отсутствует [jboss.naming.context.java.module.UserTransaction] " ]}

Что-нибудь нужно установить? Я предполагаю, что JTA выходит из коробки. Как заставить это работать?

Я также установил jta = true в источнике данных в standalone.xml, но это не помогло:

<datasource jta="true" ...
...