Hi
Need help on resolving the following configuration problem.
I am trying to find out how to get a geronimo database pool (mysql) used
in a webapp, JPA managed in G v2.0 M6 (this is just a WAR not a EAR).
I end up stuck at deployment with the following error message.
13:42:42,291 ERROR [Deployer] Deployment failed due to
org.apache.geronimo.common.DeploymentException: At least one deployment
problem:[org.apache.geronimo.common.DeploymentException: Could not
resolve reference at deploy time for query
?name=jbasicDB#org.apache.geronimo.persistence.PersistenceUnitGBean. No
GBean references found.]
at
org.apache.geronimo.persistence.builder.PersistenceUnitRefBuilder.buildNaming(PersistenceUnitRefBuilder.java:154)
at
org.apache.geronimo.persistence.builder.PersistenceUnitRefBuilder$$FastClassByCGLIB$$9679ec9.invoke(<generated>)
I have looked around for G/JPA configuration information but the ones I
have found aether deals with G:s derby db (examples working fine) or is
a fully fledged EAR application which is a bit of an overkill as this
app is meant to be used as a educational "stepping stone" app for some
colleagues ( and me as it seems ;) ).
I'm trying to get hold of the entity manager with the following JNDI
context lookup name "java:comp/env/jdbc/jbasicDB"
Here is relevant (or not so) parts of the current incarnation of the
configuration:
persistency.xml (in webapp/WEB-INF)
------------------------------------------------
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="1.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="jbasicDB" transaction-type="JTA">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<jta-data-source>jdbc/jbasicDB</jta-data-source>
<class>nu.m4u.jbasic.control.jpa.Users</class>
<exclude-unlisted-classes/>
<properties>
<property name="openjpa.jdbc.DBDictionary"
value="org.apache.openjpa.jdbc.sql.MySQLDictionary"/>
<property name="openjpa.ConnectionURL"
value="jdbc:mysql://localhost:3306/jbasic"/>
<property name="openjpa.ConnectionDriverName"
value="com.mysql.jdbc.Driver"/>
<property name="openjpa.ConnectionUserName" value="xxxxx"/>
<property name="openjpa.ConnectionPassword" value="xxxxx"/>
<property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO"/>
</properties>
</persistence-unit>
</persistence>
------------------------------------------------
geronimo-web.xml
------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.2"
xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1"
xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1">
<sys:environment>
<sys:moduleId>
<sys:groupId>jbasic</sys:groupId>
<sys:artifactId>jbasic2</sys:artifactId>
<sys:type>war</sys:type>
</sys:moduleId>
<sys:dependencies>
<sys:dependency>
<sys:groupId>console.dbpool</sys:groupId>
<sys:artifactId>jbasicDB</sys:artifactId>
<sys:version>1.0</sys:version>
<sys:type>rar</sys:type>
</sys:dependency>
<sys:dependency>
<sys:groupId>mysql</sys:groupId>
<sys:artifactId>mysql-connector-java</sys:artifactId>
<sys:version>3.1.12</sys:version>
<sys:type>jar</sys:type>
</sys:dependency>
<!--
<sys:dependency>
<sys:groupId>org.apache.geronimo.configs</sys:groupId>
<sys:artifactId>openjpa</sys:artifactId>
<sys:type>car</sys:type>
</sys:dependency>
-->
</sys:dependencies>
</sys:environment>
<context-root>/jbasic2</context-root>
<persistence-unit-ref>
<persistence-unit-ref-name>jdbc/jbasicDB</persistence-unit-ref-name>
<persistence-unit-name>jbasicDB</persistence-unit-name>
</persistence-unit-ref>
<!--
<sys:resource-ref>
<sys:ref-name>jdbc/jbasicDB</sys:ref-name>
<sys:resource-link>jbasicDB</sys:resource-link>
</sys:resource-ref>
-->
</web-app>
------------------------------------------------
web.xml
------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- Nothing much here yet -->
<!--
<resource-ref>
<res-ref-name>jdbc/jbasicDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
-->
</web-app>
------------------------------------------------
database pool plan
------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/connector-1.2">
<dep:environment
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
<dep:moduleId>
<dep:groupId>console.dbpool</dep:groupId>
<dep:artifactId>jbasicDB</dep:artifactId>
<dep:version>1.0</dep:version>
<dep:type>rar</dep:type>
</dep:moduleId>
<dep:dependencies>
<dep:dependency>
<dep:groupId>mysql</dep:groupId>
<dep:artifactId>mysql-connector-java</dep:artifactId>
<dep:version>3.1.12</dep:version>
<dep:type>jar</dep:type>
</dep:dependency>
</dep:dependencies>
</dep:environment>
<resourceadapter>
<outbound-resourceadapter>
<connection-definition>
<connectionfactory-interface>javax.sql.DataSource</connectionfactory-interface>
<connectiondefinition-instance>
<name>jbasicDB</name>
<config-property-setting
name="Password">xxxx</config-property-setting>
<config-property-setting
name="Driver">com.mysql.jdbc.Driver</config-property-setting>
<config-property-setting
name="UserName">xxxx</config-property-setting>
<config-property-setting
name="ConnectionURL">jdbc:mysql://localhost:3306/jbasic</config-property-setting>
<connectionmanager>
<local-transaction/>
<single-pool>
<max-size>10</max-size>
<min-size>0</min-size>
<match-one/>
</single-pool>
</connectionmanager>
</connectiondefinition-instance>
</connection-definition>
</outbound-resourceadapter>
</resourceadapter>
</connector>
------------------------------------------------
Anny help is appreciated !
/Peter Petersson