Hi David,
I've been trying (unsuccessfully) to figure out the OpenEJB error that I
mentioned in my last post.
What I did just now is to 'swap out' the hibernate persistence provider with
the Geronimo's default OpenJPA PP, in that part of the deployment plan.
replaced:
<provider>org.hibernate.ejb.HibernatePersistence</provider>
with:
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
and commented out the hibernate 'properties'.
In general, it appears to work (there are some WARN's) but most interesting
is that the same error I mentioned in my previous post occurs as well under
the same conditions:
...
13:16:36,385 INFO [OpenEJB] invoking method create on
jboss-seam.jar/EjbSynchronizations
13:16:36,385 INFO [OpenEJB] finished invoking method create
13:16:36,495 INFO [Transaction] TX Required: Started transaction
[EMAIL PROTECTED]
13:16:36,495 ERROR [OpenEJB] The bean instance business method encountered a
system exception: Callback methods cannot access parameters
java.lang.IllegalStateException: Callback methods cannot access parameters
at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.getParameters(ReflectionInvocationContext.java:71)
at
org.jboss.seam.intercept.EJBInvocationContext.getParameters(EJBInvocationContext.java:34)
at
org.jboss.seam.intercept.SeamInvocationContext.getParameters(SeamInvocationContext.java:49)
...
13:16:36,495 WARN [Component] Exception calling component @Destroy method:
hotelBooking
javax.ejb.EJBException: The bean encountered a non-application exception.;
nested exception is:
java.lang.IllegalStateException: Callback methods cannot access
parameters
at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:366)
at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:323)
at
org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
at $Proxy77.destroy(Unknown Source)
...
I'm really stuck on this. Any idea's on how I can resolve this last error?
Thanks again,
.Burt
djencks wrote:
>
> I don't have oracle set up here which makes it hard to test much.
>
> Right now you have the persistence element in your geronimo plan set
> up so that it's using the jdbc/ElvisPool configured later on in the
> same plan. While it was my idea originally to introduce the "ext-
> module" stuff I now think its usually a bad idea. In this case there
> are no config-properties specified in the plan for the pool, so it's
> not surprising that oracle can't figure out where the db is.
>
> From the end of your post it looks like you've set up a pool using
> the wizard. I'd recommend using that one. So
> - remove the entire ext-module section from your plan.
> - Change the persistence element so the jta-datasource is whatever
> you named the datasource in the wizard-created pool.
> - Remove the oracle dependency from the plan and replace it with a
> dependency on the wizard-created pool.
> - I don't know if you'll need the non-jta-datasource. I strongly
> recommend removing it until you find out you need it. If present, it
> absolutely needs to be a different datasource, with no-transaction
> configured.
>
> hope this helps
> david jencks
>
>
>
> On Mar 4, 2008, at 5:07 PM, Burt Prior wrote:
>
>>
>> Hi Jacek and David,
>>
>> Here is the stack trace of when I try to 'register' myself in the
>> booking
>> application:
>> <snip>
>> and here is my 'jboss-seam-jee5-geronimo-plan.xml':
>>
>> <?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>
>>
>> <!-- bprior added new dependency below per david jencks -->
>>
>> <dependency>
>> <groupId>concurrent</groupId>
>> <artifactId>concurrent</artifactId>
>> <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">
>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>> <jta-data-source>jdbc/ElvisPool</jta-data-source>
>> <non-jta-data-source>jdbc/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"
>> />
>>
>> <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
>> <property name="hibernate.show_sql" value="true"/>
>> <property
>> name="hibernate.transaction.flush_before_completion"
>> value="true"/>
>> <property name="hibernate.cache.provider_class"
>> value="org.hibernate.cache.HashtableCacheProvider"/>
>>
>> </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>jdbc/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>
>>
>>
>> and here is my 'persistence.xml':
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/
>> persistence
>> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
>> version="1.0">
>> <persistence-unit name="bookingDatabase">
>> <provider>org.hibernate.ejb.HibernatePersistence</provider>
>> <jta-data-source>ElvisPool</jta-data-source>
>> <properties>
>> <!-- The following two properties are for Glassfish -->
>> <property name="hibernate.dialect"
>> value="org.hibernate.dialect.OracleDialect"/>
>> <property name="hibernate.transaction.manager_lookup_class"
>>
>> value="org.apache.geronimo.hibernate.transaction.GeronimoTransactionMa
>> nagerLookup"/>
>>
>>
>> <!-- The following three properties are OC4J -->
>> <!--
>> <property name="hibernate.dialect"
>> value="org.hibernate.dialect.HSQLDialect"/>
>> <property name="hibernate.query.factory_class"
>>
>> value="org.hibernate.hql.classic.ClassicQueryTranslatorFactory"/>
>> <property name="hibernate.transaction.manager_lookup_class"
>>
>> value="org.hibernate.transaction.OrionTransactionManagerLookup"/>
>> -->
>>
>> <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
>> <property name="hibernate.show_sql" value="true"/>
>> <property
>> name="hibernate.transaction.flush_before_completion"
>> value="true"/>
>> <property name="hibernate.cache.provider_class"
>> value="org.hibernate.cache.HashtableCacheProvider"/>
>> </properties>
>> </persistence-unit>
>> </persistence>
>>
>>
>> I think the 'jta-data-source' is incorrect, but I've tried every
>> example I
>> could find with no luck.
>>
>> I have my Geronimo database pool configured correctly with the
>> usual Oracle
>> thin driver;
>>
>> <dependency>
>> <groupId>console.dbpool</groupId>
>> <artifactId>ElvisPool</artifactId>
>> <version>1.0</version>
>> <type>rar</type>
>> </dependency>
>>
>>
>> Could I ask for your help in this? I'm just not able to connect to
>> the
>> geronimo's database pool, and I'm not sure why.
>>
>> Thanks again,
>> .Burt
>>
>>
>>
>>
>> Jacek Laskowski wrote:
>>>
>>> On Mon, Mar 3, 2008 at 10:16 AM, Burt Prior <[EMAIL PROTECTED]> wrote:
>>>
>>>> 'java.sql.SQLException - invalid oracle url specified:
>>>> OracleDataSource.makeURL'.
>>>
>>> Show the plan for the database pool and the entire stack trace. If
>>> oracle thin driver class barfs it could mean that the url is
>>> incorrect
>>> which might be easy to fix. In the meantime write a sample jdbc
>>> program to connect to the database to make sure it can be connected
>>> from outside.
>>>
>>> Jacek
>>>
>>> --
>>> Jacek Laskowski
>>> http://www.JacekLaskowski.pl
>>>
>>>
>>
>> --
>> View this message in context: http://www.nabble.com/Geronimo-2.1-
>> and-Seam-tp15621154s134p15840865.html
>> Sent from the Apache Geronimo - Users mailing list archive at
>> Nabble.com.
>>
>
>
>
--
View this message in context:
http://www.nabble.com/Geronimo-2.1-and-Seam-tp15621154s134p15884374.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.