I haven't worked with this for a while.... two things jump out at me

1. The original error is that the bookingDatabase PU can't start. Possibly if you looked in the server log there would be more infomation.

2. You appear to have the same classes listed in the bookingDatabase PU and the cmp 2.1 PU. I think this is going to lead to trouble. The cmp 2.1 PU shouldn't really even be there unless you have actual ejb 2.1 entity beans and if you do I would rely on the cmp engine to fill in the persistence.xml for it itself.

While I used to think the <ext-module> was a neat trick I have started thinking it mostly causes confusion and think that if you deploy the pool separately and have a dependency on the deployed pool it's clearer what is going on. If you deploy everything as geronimo plugins you also get the ability to swap databases.

hope this helps
david jencks

On Feb 27, 2008, at 11:33 AM, Burt Prior wrote:


Hi Jacek,

Thanks very much for the reply.  Our team is really trying to make
Hibernate/Seam work on Geronimo 2.1, and we are stuck. As mentioned, we have the standard Oracle thin drivers in the repository, and an Oracle db
pool correctly set up; additionally we think the Geronimo Transaction
Manager is installed correctly, as well as hibernate-entitymanager.jar
patched to avoid the NPE.

From our console repository viewer:

...
<dependency>
 <groupId>oracle</groupId>
 <artifactId>jdbc</artifactId>
 <version>10.2</version>
 <type>jar</type>
</dependency>
...

...
<dependency>
 <groupId>console.dbpool</groupId>
 <artifactId>ElvisPool</artifactId>
 <version>1.0</version>
 <type>rar</type>
</dependency>
...

...
<dependency>
 <groupId>org.apache.geronimo.hibernate</groupId>
<artifactId>geronimo-hibernate-transaction-manager-lookup</ artifactId>
 <version>1.0-SNAPSHOT</version>
 <type>jar</type>
</dependency>
...

We are diligently following the Geronimo/Hibernate and Geronimo/Seam
examples, but we still have issues.

Please note that we have clean builds ('ant clean archive') as you listed in
the Geronimo/Seam doc.
So essentially, we think we have everything working until we get to "The
Plan" section.  The errors we see are when we try to 'deploy'.

Here is "The Plan" as we modified it, including your latest suggestion on
the dependency:  (we think 90% of it is correct)

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://geronimo.apache.org/xml/ns/j2ee/ application-2.0"> <environment xmlns="http://geronimo.apache.org/xml/ns/ deployment-1.2">
    <moduleId>
      <groupId>org.jboss.seam.examples.jee5</groupId>
      <artifactId>jboss-seam-jee5</artifactId>
      <version>2.1.0.A1</version>
      <type>ear</type>
    </moduleId>
    <dependencies>
      <dependency>
        <groupId>org.apache.geronimo.hibernate</groupId>

<artifactId>geronimo-hibernate-transaction-manager-lookup</artifactId>
        <type>jar</type>
      </dependency>

       <!-- bprior added new dependency below per Jacek -->
        <dependency>
                <groupId>oracle</groupId>
                <artifactId>jdbc</artifactId>
                <version>10.2</version>
                <type>jar</type>
        </dependency>

    </dependencies>
  </environment>

  <module>
    <web>jboss-seam-jee5.war</web>
    <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1";>
<environment xmlns="http://geronimo.apache.org/xml/ns/ deployment-1.2">
        <moduleId>
          <groupId>org.jboss.seam.examples.jee5</groupId>
          <artifactId>jboss-seam-jee5</artifactId>
          <version>2.1.0.A1</version>
          <type>war</type>
        </moduleId>
      </environment>
      <context-root>/seam-jee5</context-root>
    </web-app>
  </module>

  <module>
    <ejb>jboss-seam-jee5.jar</ejb>
<openejb-jar xmlns="http://www.openejb.org/xml/ns/openejb- jar-2.1">

<environment xmlns="http://geronimo.apache.org/xml/ns/ deployment-1.2">
        <moduleId>
          <groupId>org.jboss.seam.examples.jee5</groupId>
          <artifactId>jboss-seam-jee5</artifactId>
          <version>2.1.0.A1</version>
          <type>jar</type>
        </moduleId>
      </environment>

      <!-- overrides what's in the module's persistence.xml -->

      <persistence xmlns="http://java.sun.com/xml/ns/persistence";>
        <persistence-unit name="bookingDatabase">
          <jta-data-source>ElvisPool</jta-data-source>
          <non-jta-data-source>ElvisPool</non-jta-data-source>
          <class>org.jboss.seam.example.booking.Booking</class>
          <class>org.jboss.seam.example.booking.Hotel</class>
          <class>org.jboss.seam.example.booking.User</class>
          <exclude-unlisted-classes>true</exclude-unlisted-classes>

          <properties>
                <property name="hibernate.dialect"
value="org.hibernate.dialect.OracleDialect"/>
<property name="hibernate.transaction.manager_lookup_class"

value="org.apache.geronimo.hibernate.transaction.GeronimoTransactionMa nagerLookup"
/>
          </properties>

        </persistence-unit>
        <!-- change the way the default PU works - make it an alias to
bookingDatabase PU -->
        <persistence-unit name="cmp">
          <class>org.jboss.seam.example.booking.Booking</class>
          <class>org.jboss.seam.example.booking.Hotel</class>
          <class>org.jboss.seam.example.booking.User</class>
          <exclude-unlisted-classes>true</exclude-unlisted-classes>
        </persistence-unit>
      </persistence>

    </openejb-jar>
  </module>

  <ext-module>
    <connector>seam-jee5-dbpool</connector>
    <external-path
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2";>
      <dep:groupId>org.tranql</dep:groupId>
      <dep:artifactId>tranql-connector-oracle-local</dep:artifactId>
      <dep:type>rar</dep:type>
    </external-path>
<connector xmlns="http://geronimo.apache.org/xml/ns/j2ee/ connector-1.2"> <environment xmlns="http://geronimo.apache.org/xml/ns/ deployment-1.2">
        <moduleId>
          <groupId>org.jboss.seam.examples.jee5</groupId>
          <artifactId>booking-dbpool</artifactId>
          <version>2.1.0.A1</version>
          <type>rar</type>
        </moduleId>
        <dependencies>
          <dependency>
            <groupId>org.apache.geronimo.configs</groupId>
            <artifactId>system-database</artifactId>
            <type>car</type>
          </dependency>


        </dependencies>
      </environment>
      <resourceadapter>
        <outbound-resourceadapter>
          <connection-definition>

<connectionfactory-interface>javax.sql.DataSource</ connectionfactory-interface>
            <connectiondefinition-instance>

              <name>ElvisPool</name>

              <!--
              <config-property-setting
name="UserName">ENGLRN_BPRIOR</config-property-setting>
              <config-property-setting
name="Password">BPRIOR</config-property-setting>
              <config-property-setting
name="Driver">oracle.jdbc.driver.OracleDriver</config-property- setting>
              <config-property-setting
name="ConnectionURL">jdbc:oracle:thin:@[EMAIL PROTECTED]: 1521:xe</config-property-setting>
              -->

              <!--  <config-property-setting
name="DatabaseName">SystemDatabase</config-property-setting> -->

              <connectionmanager>
                <local-transaction />
                <single-pool>
                  <max-size>8</max-size>
                  <min-size>4</min-size>

<blocking-timeout-milliseconds>5000</blocking-timeout-milliseconds>
                  <select-one-assume-match />
                </single-pool>
              </connectionmanager>
            </connectiondefinition-instance>
          </connection-definition>
        </outbound-resourceadapter>
      </resourceadapter>
    </connector>
  </ext-module>

</application>


The errors (on deploy) we get are:  (trimmed):


C:\geronimo-jetty6-javaee5-2.1>.\bin\deploy.bat -u system -p manager deploy
C:\jboss-seam-2.1.0.A1\examples\jee5\booking\dist\jboss-seam-jee5.ear
C:\jboss-seam-
2.1.0.A1\examples\jee5\booking\jboss-seam-jee5-geronimo-plan.xml
Using GERONIMO_BASE:   C:\geronimo-jetty6-javaee5-2.1
Using GERONIMO_HOME:   C:\geronimo-jetty6-javaee5-2.1
Using GERONIMO_TMPDIR: var\temp
Using JRE_HOME:        C:\Program Files\Java\jdk1.6.0_01\jre
org.apache.geronimo.kernel.config.LifecycleException: start of
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear failed
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf iguration(SimpleConfigurationManager.java:551)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf iguration(SimpleConfigurationManager.java:515)
        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:597)
        at
org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke (ReflectionMethodInvoker.java:34)
        at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:124)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:867)
        at
org.apache.geronimo.kernel.basic.BasicKernel.invoke (BasicKernel.java:239)
        at
org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:342)
        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:597)
        at
org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke (ReflectionMethodInvoker.java:34)
        at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke (GBeanOperation.java:124)
        at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke (GBeanInstance.java:867)
        at
org.apache.geronimo.kernel.basic.BasicKernel.invoke (BasicKernel.java:239)
        at
org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke (MBeanGBeanBridge.java:172)
        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke (DefaultMBeanServerInterceptor.java:836)
        at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at
javax.management.remote.rmi.RMIConnectionImpl.doOperation (RMIConnectionImpl.java:1426)
        at
javax.management.remote.rmi.RMIConnectionImpl.access$200 (RMIConnectionImpl.java:72)
        at
javax.management.remote.rmi.RMIConnectionImpl $PrivilegedOperation.run(RMIConnectionImpl.java:1264)
        at java.security.AccessController.doPrivileged(Native Method)
        at
javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation (RMIConnectionImpl.java:1366)
        at
javax.management.remote.rmi.RMIConnectionImpl.invoke (RMIConnectionImpl.java:788) at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
        at sun.rmi.transport.Transport$1.run(Transport.java:159)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java: 535)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0 (TCPTransport.java:790)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run (TCPTransport.java:649)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask (ThreadPoolExecutor.java:885)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.geronimo.kernel.config.InvalidConfigException: Unknown
start exception
        at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration GBeans(ConfigurationUtil.java:522)
        at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start (KernelConfigurationManager.java:187)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf iguration(SimpleConfigurationManager.java:534)
        ... 40 more
Caused by: org.apache.geronimo.gbean.InvalidConfigurationException:
Configuration org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ ear
failed to start due
to the following reasons:
  The service
EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,PersistenceUnitModule=jboss-seam-jee5.jar, j2eeType=PersistenceUnit,name=bookingDatabase did not start for an unknown
reason
  The service
EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatelessSessionBean,name=Authent
icatorAction did not start because
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.
A1/ear,j2eeType=EJBModule,name=jboss-seam-jee5.jar did not start.
  The service
EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatefulSessionBean,name=BookingL
istAction did not start because
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/
ear,j2eeType=EJBModule,name=jboss-seam-jee5.jar did not start.
  The service
EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatefulSessionBean,name=ChangePa
sswordAction did not start because
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.
A1/ear,j2eeType=EJBModule,name=jboss-seam-jee5.jar did not start.
  The service
EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatefulSessionBean,name=HotelBoo
kingAction did not start because
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1
/ear,j2eeType=EJBModule,name=jboss-seam-jee5.jar did not start.
  The service
EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatefulSessionBean,name=HotelSea
rchingAction did not start because
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.
A1/ear,j2eeType=EJBModule,name=jboss-seam-jee5.jar did not start.
  The service
EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatefulSessionBean,name=Register
Action did not start because
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear
,j2eeType=EJBModule,name=jboss-seam-jee5.jar did not start.
  The service
J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=EJBModule,name=jboss-seam-jee5.jar
did not start because create
Application.failed
[C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo- deploymentUtil44832.jar]:
Error building bean 'HotelBookingAction'.  Exception: class org.a
pache.openejb.OpenEJBException: PersistenceUnit 'bookingDatabase 91456273'
not found for EXTENDED ref
'org.jboss.seam.example.booking.HotelBookingAction/em': Pe
rsistenceUnit 'bookingDatabase 91456273' not found for EXTENDED ref
'org.jboss.seam.example.booking.HotelBookingAction/em'

        at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration GBeans(ConfigurationUtil.java:485)
        ... 42 more
    Error: Operation failed: start of
    org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear failed

        Unknown start exception

        Configuration
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear failed to
    start due to the following reasons:

      The service

EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,PersistenceUnitModule=jboss-seam-jee5.jar,j2eeType=P
ersistenceUnit,name=bookingDatabase
    did not start for an unknown reason

      The service

EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatelessSessionBean,name=AuthenticatorActi
on
    did not start because

org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=EJBModule,name=
jboss-seam-jee5.jar
    did not start.

      The service

EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatefulSessionBean,name=BookingListAction
    did not start because

org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=EJBModule,name=
jboss-seam-jee5.jar
    did not start.

      The service

EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatefulSessionBean,name=ChangePasswordActi
on
    did not start because

org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=EJBModule,name=
jboss-seam-jee5.jar
    did not start.

      The service

EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatefulSessionBean,name=HotelBookingAction

    did not start because

org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=EJBModule,name=
jboss-seam-jee5.jar
    did not start.

      The service

EJBModule=jboss-seam- jee5.jar,J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=StatefulSessionBean,name=HotelSearchingActi
on
    did not start because

org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear? J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=EJBModule,name=
jboss-seam-jee5.jar
    did not start.

...

      The service

J2EEApplication=org.jboss.seam.examples.jee5/jboss-seam- jee5/2.1.0.A1/ear,j2eeType=EJBModule,name=jboss-seam-jee5.jar
    did not start because createApplication.failed

[C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo- deploymentUtil44832.jar]:
    Error building bean 'HotelBookingAction'.  Exception: class
    org.apache.openejb.OpenEJBException: PersistenceUnit
    'bookingDatabase 91456273' not found for EXTENDED ref
    'org.jboss.seam.example.booking.HotelBookingAction/em':
    PersistenceUnit 'bookingDatabase 91456273' not found for EXTENDED
    ref 'org.jboss.seam.example.booking.HotelBookingAction/em'

C:\geronimo-jetty6-javaee5-2.1>


We would greatly appreciate any help on this. We feel we are almost there.

Thanks again,
.Burt




Jacek Laskowski wrote:

On Tue, Feb 26, 2008 at 4:29 PM, Burt Prior <[EMAIL PROTECTED]> wrote:

The deployment plan uses the Derby database. I'm using Oracle. I've
 successfully installed the Oracle jar in the respository and a
configured a
 (thin driver) database pool that jar.

I now successfully build the app, but when I try to deploy.bat from the
 command line using the "The Plan", I get errors such as...

 "Exception in Thread.. java.lang.NoClassDefFoundError:
 oracle/jdbc/pool/OracleDataSource"

This class is in the oracle jar, but I think the geronimo deployment
plan is
 incorrect.

Hi,

Add Oracle Thin driver as a dependency to the app in the plan and
rerun the deployment. I think you need something like:

    <dependencies>
      <dependency>
        <groupId>org.apache.geronimo.hibernate.transaction</groupId>

<artifactId>geronimo-hibernate-transaction-manager-lookup</ artifactId>
        <type>jar</type>
      </dependency>
      <dependency>
        <groupId>com.oracle.thindriver</groupId>
        <artifactId>oracle-thin-driver</artifactId>
        <type>jar</type>
      </dependency>
    </dependencies>

Note the part for the oracle thin driver. Update it with correct data
and give it a go.

When in trouble, show the plan so it's easier to help you.

Jacek

--
Jacek Laskowski
http://www.JacekLaskowski.pl



--
View this message in context: http://www.nabble.com/Geronimo-2.1- and-Seam-tp15621154s134p15721151.html Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.



Reply via email to