У меня есть приложение JPA, в котором указаны транзакции JTA в файле persistence.xml. По какой-то причине я обнаружил, что при использовании JTA вы ДОЛЖНЫ также указывать источник данных JNDI в файле persistence.xml. Это нормально, если только вы не пытаетесь пройти интеграционное тестирование вне контейнера, а JNDI недоступен.
Мои вопросы:
a) есть ли способ вставить источник данных jdbc в мой менеджер транзакций JTA?
б) если нет, то как обрабатывать поиск JNDI во время интеграционного тестирования?
Редактировать: ошибка при запуске интеграционного теста:
Caused by: org.springframework.......DataSourceLookupFailureException:
Failed to look up JNDI DataSource with name 'java:comp/env/jdbc/myAppDataSource';
nested exception is javax.naming.NoInitialContextException: Need to specify
class name in environment or system property, or as an applet parameter,
or in an application resource file: java.naming.factory.initial