Какое значение следует поместить в <jta-data-source>
моего persistence.xml
?
В панели панели Glassfish я создал имя источника данных "abcDS"
. В моем jndi.properties
(внутри src/test/resources
) я определил его следующим образом:
[...]
abcDS=new://Resource?type=DataSource
abcDS.JdbcDriver=org.hsqldb.jdbcDriver
abcDS.JdbcUrl=jdbc:hsqldb:mem:testdb
abcDS.JtaManaged=true
[...]
Что мне помещать в persistence.xml
? Я нашел много вариантов в Сети, например: "jdbc/abcDS"
, "java:/abcDS"
, "abcDS"
. Какой из них прав? И есть ли какое-то правило для этого? Я понимаю, что это связано с JNDI, но...
Я пытаюсь создать EMF в своем unit test:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("abc");
Это то, что я получаю в журнале:
[...]
SEVERE: Could not find datasource: abcDS javax.naming.NameNotFoundException:
Name "abcDS" not found.
at org.apache.openejb.core.ivm.naming.IvmContext.federate(IvmContext.java:193)
at org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:150)
at org.apache.openejb.core.ivm.naming.ContextWrapper.lookup(ContextWrapper.java:115)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
[...]