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

Reply via email to