Think I might have this fixed. Testing now.
-David
On Dec 17, 2007, at 7:40 PM, Alexander Saint Croix wrote:
Hello,
I'm having some trouble wiring my app's persistence.xml to the
Resource
defined in the openejb.xml conf file.
First, here's the error:
<openjpa-1.0.0-r420667:568756 nonfatal general error>
org.apache.openjpa.persistence.PersistenceException: There were
errors
initializing your configuration:
org.apache.commons.lang.exception.NestableRuntimeException: There
was an
error duing JNDI lookup of the name "java:openejb/Resource/
myDataSource".
at
org.apache.openjpa.lib.conf.Configurations.lookup(Configurations.java
:583)
at
org
.apache
.openjpa.conf.OpenJPAConfigurationImpl.lookupConnectionFactory(
OpenJPAConfigurationImpl.java:962)
at
org
.apache.openjpa.conf.OpenJPAConfigurationImpl.getConnectionFactory(
OpenJPAConfigurationImpl.java:950)
at
org
.apache
.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory
(JDBCConfigurationImpl.java:801)
at
org
.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getConnectionFactory
(JDBCConfigurationImpl.java:708)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.openjpa.lib.conf.ConfigurationImpl.instantiateAll(
ConfigurationImpl.java:289)
at org.apache.openjpa.conf.OpenJPAConfigurationImpl.instantiateAll(
OpenJPAConfigurationImpl.java:1459)
at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(
AbstractBrokerFactory.java:636)
at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(
AbstractBrokerFactory.java:169)
at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(
DelegatingBrokerFactory.java:142)
at
org
.apache
.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager
(EntityManagerFactoryImpl.java:192)
at
org
.apache
.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager
(EntityManagerFactoryImpl.java:145)
at
org
.apache
.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager
(EntityManagerFactoryImpl.java:56)
at org.eremite.HelloServlet.doGet(HelloServlet.java:61)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:109)
at
org
.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
:263)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process
(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint
$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:613)
Caused by: javax.naming.NameNotFoundException: Name openejb is not
bound
in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:137)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at
org.apache.openjpa.lib.conf.Configurations.lookup(Configurations.java
:581)
... 31 more
Second, the relevant parts of the persistence.xml:
<persistence-unit name="example" transaction-type="RESOURCE_LOCAL">
<jta-data-source>
java:openejb/Resource/myDataSource
</jta-data-source>
<non-jta-data-source>
java:openejb/Resource/myNonJtaDataSource
</non-jta-data-source>
...
</persistence-unit>
Third, the relevant parts of the openejeb.xml conf doc:
<Resource id="myDataSource" type="DataSource">
JdbcDriver = com.mysql.jdbc.Driver
JdbcUrl = jdbc:mysql://localhost/corm
UserName = root
Password = pw
</Resource>
<Resource id="myNonJtaDataSource" type="DataSource"
provider="Default Unmanaged JDBC Database">
JdbcDriver = com.mysql.jdbc.Driver
JdbcUrl = jdbc:mysql://localhost/corm
UserName = root
Password = pw
</Resource>
Any ideas?
--
Alexander