Не совсем уверен, как EclipseLink обрабатывает свойство javax.persistence.jtaDataSource
.Я должен предположить, что это какой-то поиск JNDI, но в том, как они могут это сделать, есть невероятное значение.Например, если они предшествуют java:comp/env/
, это существенно меняет семантику.
Возможно, попробуйте переопределить javax.persistence.jtaDataSource
, чтобы использовать глобальное имя JNDI OpenEJB для вашего источника данных.Итак, в вашем jndi.properties
файле добавьте
app1.javax.persistence.jtaDataSource = openejb:Resource/jdbc/AppDB
Определенно дайте мне знать, если это работает.Кажется, это может быть хорошей возможностью для добавления в OpenEJB, даже если это свойство фактически используется провайдером JPA.Исправление недопустимых имен JNDI может быть более чем удобным.
В дополнение к этому следует добавить инструкцию регистрации, в которой говорится, что 'jdbc / AppDB.provider' не является свойством, поддерживаемым источником данных.Вероятно, лучше всего удалить это свойство.