You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by "Burt Prior (bprior)" <bp...@cisco.com> on 2008/02/21 18:49:06 UTC

Geronimo 2.1 and Seam

Hi Geronimo Team,
 
I hope I'm directing this question correctly.
 
First, thank you all for your excellent work on Geronimo 2.1.  Our team
has standardized on Geronimo at our large enterprise, and we think its
the best app server in the industry.
 
We are in current development of an JSF/EJB3/OpenJPA application, and we
would very much like to use Seam (2).
 
For the past few days we have been trying (without much luck) to
configure Geronimo to work with Seam and Hibernate; we would prefer
OpenJPA as the persistence provider, but it appears impossible to use
with Seam.
 
I've tried to work thru:
http://cwiki.apache.org/GMOxSAMPLES/running-jboss-seam-200ga-on-geronimo
-21.html but the maven project to download the Hibernate Transaction
Manager appears not to work, and we are finding the instructions a bit
hard to follow. (we don't use Maven, we are Subversion users)
$ mvn archetype:create -DgroupId=org.apache.geronimo.hibernate
-DartifactId=geronimo-hibernate-transaction-manager-lookup
 
Question 1:
 
Is there a Geronimo 2.1 build that already includes everything needed to
run Seam 2 or Hibernate that I can download, so we do not have to
manually patch it?
 
Question 2:
 
Is there any advice/guidance you can give my team regarding setting up
Geronimo 2.1 to use Seam 2?  We would very much like integrate Seam into
Geronimo for our long term application development.
 
Thanks for your time and great work,
 
Burt Prior
IT Engineer
bprior@cisco.com
Office: 408.853.4199
 

Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi Jacek,

Please see my responses inline...

> I can't work on it much now, but perhaps we could work it out together
> - me thinking aloud and you trying it out. Deal?

Sounds great!  I'm willing do anything to work this issue out.  It's very
important to us!

> Do you have any idea what "bookingDatabase 91456273" came from?

No idea.

> Did you make any changes in the example? 

Not a one. I have made no changes at all to the example.  I wanted to use
the example as is for Seam and Hibernate on Geronimo.

Thanks very much for your help.   We are really stuck on this.

.Burt








Jacek Laskowski wrote:
> 
> On Wed, Feb 27, 2008 at 11:33 AM, Burt Prior <bp...@cisco.com> wrote:
> 
>> 
>> [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'
> 
> Hi,
> 
> I can't work on it much now, but perhaps we could work it out together
> - me thinking aloud and you trying it out. Deal?
> 
> Do you have any idea what "bookingDatabase 91456273" came from? I'll
> have to ask Dave B (openejb) about the exact error message's origins.
> I think openejb know nothing about oracle without some configuration
> changes and it might be working with hsql because openejb works with
> it by default. Can't really figure it out right now. Did you make any
> changes in the example? I vaguely remember bookingDatabase PU, but
> nothing springs to my mind about the numbers.
> 
> Jacek
> 
> -- 
> Jacek Laskowski
> http://www.JacekLaskowski.pl
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Wed, Feb 27, 2008 at 11:33 AM, Burt Prior <bp...@cisco.com> wrote:

>  [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'

Hi,

I can't work on it much now, but perhaps we could work it out together
- me thinking aloud and you trying it out. Deal?

Do you have any idea what "bookingDatabase 91456273" came from? I'll
have to ask Dave B (openejb) about the exact error message's origins.
I think openejb know nothing about oracle without some configuration
changes and it might be working with hsql because openejb works with
it by default. Can't really figure it out right now. Did you make any
changes in the example? I vaguely remember bookingDatabase PU, but
nothing springs to my mind about the numbers.

Jacek

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

Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Wed, Feb 27, 2008 at 12:08 PM, David Jencks <da...@yahoo.com> wrote:

>  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.

The classes are listed in cmp2 so openjpa won't get kicked in as
otherwise Hibernate couldn't be used as a jpa provider. I couldn't
come up with a better solution to work around the nasty errors from
openjpa. about CNFE or CCE (don't remember what they were and the only
way to shut them off was to configure cmp2 PU manually).

Jacek

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

Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Thu, Feb 28, 2008 at 4:42 PM, Burt Prior <bp...@cisco.com> wrote:

>  The difference appears to be, your example continues to load the booking
>  application, and mine throws an exception on the next line:
>
>  14:00:28,115 ERROR [GBeanInstanceState] Error while starting; GBean is now
>
> in the FAILED state:
>  abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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"
>  java.lang.NullPointerException
>         at
>
> org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)

It stroke me too, but couldn't find any explanation for it. I think I
need to run the sample again with the latest Geronimo to see if
nothing has changed since.

Jacek

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

Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Mon, Mar 17, 2008 at 10:17 PM, Burt Prior <bp...@cisco.com> wrote:

>  >  we use JPA to run your CMPs.  I'm not familiar with why Jacek had you add
>  > that, so I'm not sure what to advise.  We generate the cmp peristence unit
>  > for you as well, so I'm not too sure on any reason you'd need to
>  > explicitly create it.
>
>  Ok.  We are using EJB 3 JPA Entities, so I don't think we are running any
>  CMP's at all.  Also, I don't think this is a Seam issue at all.
>
>  When I take out that 'duplicate' 'cmp' PU, it generates an error, so for
>  some reason it's needed.  I guess its because we are using the latest JEE5
>  stack to develop our Seam app on G2.1.

I remember I've been having issues with the double processing entities
by openjpa. Without it the issue vanished so not much thinking here
just letting the issue go away so I could go on.

Jacek

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

Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

That's great news about your work with OpenEJB 3.0 and G2.1.1.  I have a
request.  Hurry!  :-)

>  we use JPA to run your CMPs.  I'm not familiar with why Jacek had you add
> that, so I'm not sure what to advise.  We generate the cmp peristence unit
> for you as well, so I'm not too sure on any reason you'd need to
> explicitly create it.

Ok.  We are using EJB 3 JPA Entities, so I don't think we are running any
CMP's at all.  Also, I don't think this is a Seam issue at all.

When I take out that 'duplicate' 'cmp' PU, it generates an error, so for
some reason it's needed.  I guess its because we are using the latest JEE5
stack to develop our Seam app on G2.1.  

Is this 'cmp' a legacy support feature?  I don't understand it's purpose
under JEE5.

Thanks again,
.Burt



David Blevins wrote:
> 
> 
> On Mar 11, 2008, at 5:09 PM, Burt Prior wrote:
> 
>>
>> Hi David,
>>
>> Got it!  Applied the patch and everything works great with no  
>> errors! Hello
>> Geronimo and Seam! (with not a single error!).  Our team is  
>> celebrating!
> 
> Great!  We're trying very hard to get OpenEJB 3.0 out the door and  
> tested for potential inclusion in G 2.1.1.  With a bit more luck you  
> won't have to use that patched jar for much longer.
> 
>> Question 1:
>>
>> Is following snippet in <persistence> needed anymore?  What does  
>> 'cmp' do?
>> I think Jacek initially used this for some reason I don't  
>> understand.  Do I
>> have to include this in every Geronimo/Seam project?  Do I always  
>> have to
>> create 2 PU's like this replicating the <class>'s in a 'cmp' PU?
>>
>> ...
>>       <!-- 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>
>> ...
> 
> I don't know Seam at all, so hopefully we don't confuse each other,  
> but I can tell you that the cmp persistence unit is dedicated our  
> generated CMP 2.x and 1.1 classes -- we use JPA to run your CMPs.  I'm  
> not familiar with why Jacek had you add that, so I'm not sure what to  
> advise.  We generate the cmp peristence unit for you as well, so I'm  
> not too sure on any reason you'd need to explicitly create it.
> 
> If you can get by without it and things work, I'd definitely get rid  
> of it.
> 
>> Question 2:
>>
>> I added the concurrency lib to Geronimo's repository as in a prevously
>> mentioned thread.
>>
>> Do I need the following anymore?  Do I have to include this in every
>> Geronimo/Seam project plan?
>>
>> ...
>>      <!--  bprior added new dependency below per david jencks -->
>>
>>       <dependency>
>>        <groupId>concurrent</groupId>
>>        <artifactId>concurrent</artifactId>
>>        <type>jar</type>
>>      </dependency>	
>> ...
>>
> 
> Maybe David J. could comment on that one.
> 
> 
> -David
> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by David Blevins <da...@visi.com>.
On Mar 11, 2008, at 5:09 PM, Burt Prior wrote:

>
> Hi David,
>
> Got it!  Applied the patch and everything works great with no  
> errors! Hello
> Geronimo and Seam! (with not a single error!).  Our team is  
> celebrating!

Great!  We're trying very hard to get OpenEJB 3.0 out the door and  
tested for potential inclusion in G 2.1.1.  With a bit more luck you  
won't have to use that patched jar for much longer.

> Question 1:
>
> Is following snippet in <persistence> needed anymore?  What does  
> 'cmp' do?
> I think Jacek initially used this for some reason I don't  
> understand.  Do I
> have to include this in every Geronimo/Seam project?  Do I always  
> have to
> create 2 PU's like this replicating the <class>'s in a 'cmp' PU?
>
> ...
>       <!-- 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>
> ...

I don't know Seam at all, so hopefully we don't confuse each other,  
but I can tell you that the cmp persistence unit is dedicated our  
generated CMP 2.x and 1.1 classes -- we use JPA to run your CMPs.  I'm  
not familiar with why Jacek had you add that, so I'm not sure what to  
advise.  We generate the cmp peristence unit for you as well, so I'm  
not too sure on any reason you'd need to explicitly create it.

If you can get by without it and things work, I'd definitely get rid  
of it.

> Question 2:
>
> I added the concurrency lib to Geronimo's repository as in a prevously
> mentioned thread.
>
> Do I need the following anymore?  Do I have to include this in every
> Geronimo/Seam project plan?
>
> ...
>      <!--  bprior added new dependency below per david jencks -->
>
>       <dependency>
>        <groupId>concurrent</groupId>
>        <artifactId>concurrent</artifactId>
>        <type>jar</type>
>      </dependency>	
> ...
>

Maybe David J. could comment on that one.


-David


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

Got it!  Applied the patch and everything works great with no errors! Hello
Geronimo and Seam! (with not a single error!).  Our team is celebrating!


Since we hit this milestone, we would like to now turn our attention back to
our Geronimo/Seam app instead of the booking example. (they are very
similar)

Could I again ask you a question about the geronimo 'booking' deployment
descriptor?

What we want to do is create a simple Eclipse/Geronimo/Seam/EJB3 project.

What we would like to do is to use our experience from the 'booking' example
and 'fold in' the external deployment descriptor into our regular
Eclipse/Geronimo/Seam project(s).

Below is the complete and working 'booking' app deployment descriptor that
you previously helped us with, that we successfully 'deploy' from the
command line.

Question 1:

Is following snippet in <persistence> needed anymore?  What does 'cmp' do? 
I think Jacek initially used this for some reason I don't understand.  Do I
have to include this in every Geronimo/Seam project?  Do I always have to
create 2 PU's like this replicating the <class>'s in a 'cmp' PU?

...
       <!-- 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>
...

Question 2:

I added the concurrency lib to Geronimo's repository as in a prevously
mentioned thread.

Do I need the following anymore?  Do I have to include this in every
Geronimo/Seam project plan?

...
      <!--  bprior added new dependency below per david jencks -->
       
       <dependency>
        <groupId>concurrent</groupId>
        <artifactId>concurrent</artifactId>
        <type>jar</type>
      </dependency>	
...


Thanks again for you and your team's help.  My working 'booking' plan is
below:
.Burt


<?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>
      
   	<dependency>
       <groupId>console.dbpool</groupId>
       <artifactId>ElvisPool</artifactId>
       <version>1.0</version>
       <type>rar</type>
      </dependency> 
      
      
       <!-- bprior added new dependency below per Jacek --> 
       
       <!-- removed this dependency per David 
       	<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.apache.openjpa.persistence.PersistenceProviderImpl</provider>
-->           
          <provider>org.hibernate.ejb.HibernatePersistence</provider>
        
          <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="openjpa.Log" value="DefaultLevel=WARN,
Runtime=INFO, Tool=INFO, SQL=TRACE"/> -->
          
          	 
          	<property name="hibernate.dialect"
value="org.hibernate.dialect.Oracle9Dialect"/>
            <property name="hibernate.transaction.manager_lookup_class"
             
value="org.apache.geronimo.hibernate.transaction.GeronimoTransactionManagerLookup"
/>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
         	<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>
  

</application>








David Blevins wrote:
> 
> On Mar 11, 2008, at 10:19 AM, Burt Prior wrote:
> 
>> Hi David,
>>
>> Wow!  This is awesome news.  Very exciting.
>>
>> Ok, we are ready to apply this patch to our 2.1.
>>
>> Sorry to ask; could you be a bit more specific on what I need to do  
>> to apply
>> this patch?
>>
>>> If you grab the org.apache.openejb.core.Operation class from the  
>>> latest
>>> snapshot[1] and put it into your openejb-core-3.0-beta-2.jar  
>>> replacing the
>>> existing Operation.class, things should work.
>>
>> I'm not sure how to do this exactly.  Could I ask for your help?
> 
> Sure.  You'll want to make sure your server is shutdown, then extract  
> this jar into a clean temp directory:
> 
>    repository/org/apache/openejb/openejb-core/3.0-beta-2/openejb- 
> core-3.0-beta-2.jar
> 
> Then delete the file: org/apache/openejb/core/Operation.class
> 
> Now you want to grab the openejb-core-3.0-SNAPSHOT jar I pointed you  
> at and extract it into it's own clean temp directory.  Then move the  
> 3.0-SNAPSHOT version of org/apache/openejb/core/Operation.class into  
> the directory where the 3.0-beta-2 classes are extracted.  Now you  
> simply need to re-jar the contents of the extracted and updated 3.0- 
> beta-2 temp directory then copy the new jar file over top of the  
> openejb-core-3.0-beta-2.jar in your geronimo repository.  Then go  
> ahead and boot your server up.
> 
>> Thanks again for your excellent work with our team and Gavin.
> 
> No problem, thanks for hanging in there.  We appreciate it.  Hopefully  
> we can get a new release out with this fixed asap.
> 
> -David
> 
> 
>> David Blevins wrote:
>>>
>>> Ok, I've been digging around in the TCK and chatting with Gavin  
>>> offline.
>>>
>>> Looks like this is an issue on our end after all.  I had originally
>>> thought @Destroy mapped to @PreDestroy, which would definitely result
>>> in the IllegalStateException, but @Remove is very different.  I've
>>> done a check with the TCK to verify that relaxing the get/ 
>>> setParameter
>>> restriction in reference to @Remove is ok and things looked good, so
>>> I've gone ahead and checked in that change.
>>>
>>> Now, dealing with your existing build might be a bit trickier, but if
>>> you're willing to crack open the openejb-core-3.0-beta-2.jar and  
>>> patch
>>> one class, we should be able to get things working for you.
>>>
>>> Here was the change:
>>> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/Operation.java?r1=635766&r2=635767&pathrev=635767&view=patch
>>>
>>> If you grab the org.apache.openejb.core.Operation class from the
>>> latest snapshot[1] and put it into your openejb-core-3.0-beta-2.jar
>>> replacing the existing Operation.class, things should work.
>>>
>>> -David
>>>
>>> [1]
>>> http://people.apache.org/repo/m2-snapshot-repository/org/apache/openejb/openejb-core/3.0-SNAPSHOT/openejb-core-3.0-20080311.012606-8.jar
>>>
>>>
>>> On Mar 10, 2008, at 10:31 AM, Burt Prior wrote:
>>>
>>>>
>>>> Hi David,
>>>>
>>>> Gavin King just responded with an interesting comment about a  
>>>> possible
>>>> Geronimo/TCK bug and Seam:
>>>>
>>>> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>>>> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>>>>
>>>> I was wondering if you had a moment, could you add your $0.02?  It
>>>> appears
>>>> he and his team will be looking into this issue.
>>>>
>>>> Thanks very much,
>>>> .Burt
>>>>
>>>>
>>>>
>>>> djencks wrote:
>>>>>
>>>>> I talked with david blevins about this a little more.  From the
>>>>> evidence available so far we think that seam is not jee5 compliant
>>>>> with the tck requirements.  If openejb did not throw this exception
>>>>> in these circumstances it would fail the tck.  Recall that seam is
>>>>> developed on a non-jee5-certified platform.  Under these
>>>>> circumstances we'd have a hard time changing openejb to not throw  
>>>>> the
>>>>> exception. Do you have any evidence that seam runs with a bean  
>>>>> with a
>>>>> @Destroy annotated method on any certified platform?
>>>>>
>>>>> On the other hand the requirement appears to be only in tck code  
>>>>> and
>>>>> not stated in the spec.  Also, it doesn't make much sense.  Thus it
>>>>> might be worth pursuing a challenge to the tck.  I would think the
>>>>> jboss/seam developers would be the ones to start this although we
>>>>> might challenge it also.  The challenge process typically takes a
>>>>> while.
>>>>>
>>>>> Seeing the entire stack trace from your bean's @Destroy method to  
>>>>> the
>>>>> original exception might possibly shed more light on the subject.
>>>>>
>>>>> Other than filling up your logs what problems is this causing?   
>>>>> If it
>>>>> does not cause functional problems perhaps pursuing a challenge  
>>>>> would
>>>>> be the best solution.
>>>>>
>>>>> thanks
>>>>> david jencks
>>>>>
>>>>> On Mar 7, 2008, at 10:06 AM, Burt Prior wrote:
>>>>>
>>>>>>
>>>>>> Hi David,
>>>>>>
>>>>>> Thanks for the reply.  Our team really needs some help in solving
>>>>>> this last
>>>>>> issue with Geronimo and Seam.  There must be some way to resolve
>>>>>> this.
>>>>>>
>>>>>> As I exercise Seam's booking app, I monitor the Geronimo log very
>>>>>> closely.
>>>>>> As I mentioned, the app works fine.  You can see the entities and
>>>>>> ejb3
>>>>>> (stateful) session beans are found (jndi) and loaded correctly.
>>>>>> The only
>>>>>> error we see is the one mentioned in my last post.
>>>>>>
>>>>>> The error is thrown, and the app continues on.
>>>>>>
>>>>>> Data is saved correctly in the DB, and the business logic in the
>>>>>> session
>>>>>> beans are executed in the container fine.
>>>>>>
>>>>>> After closer inspection of the log, the error appears every time
>>>>>> any session
>>>>>> bean is invoked, for example, 'BookingListAction' ->  
>>>>>> 'bookingList',
>>>>>> 'HotelSearchingAction' -> 'hostSearch'.   I've went over the  
>>>>>> source
>>>>>> code for
>>>>>> these beans; they are simple and easy to understand, and I don't  
>>>>>> see
>>>>>> anything that would cause this error.
>>>>>>
>>>>>> What every session bean shares is the following method and
>>>>>> annotation:
>>>>>>
>>>>>> ...
>>>>>> @Destroy @Remove
>>>>>> public void destroy() {}
>>>>>> ...
>>>>>>
>>>>>> I think this is related to the error, but I'm not sure.  I'm
>>>>>> looking for
>>>>>> something to change in any bean code, but I don't see a thing.
>>>>>>
>>>>>> The Seam 'booking' example is important to our team to work with  
>>>>>> no
>>>>>> errors
>>>>>> because this is exactly how we are building our current production
>>>>>> app;
>>>>>> (Geronimo 2.1, Seam 2.1, JSF (facelets), EJB3 Session Beans, JPA
>>>>>> Entities).
>>>>>>
>>>>>> And everything works, except for this error!
>>>>>>
>>>>>> It appears to us that any 'Seam app' running on Geronimo 2.1 would
>>>>>> experience this issue.
>>>>>>
>>>>>> Could we ask for you and your team's help to work with us in
>>>>>> resolving this,
>>>>>> and how we can move forward?
>>>>>>
>>>>>> Thanks very much for your time and help,
>>>>>> .Burt
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> David Blevins wrote:
>>>>>>>
>>>>>>>
>>>>>>> On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:
>>>>>>>
>>>>>>>> ...
>>>>>>>> 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
>>>>>>>> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
>>>>>>>> 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?
>>>>>>>
>>>>>>> This it seems like some code is trying to call
>>>>>>> InvocationContext.getParameters() from inside a lifecycle method.
>>>>>>>
>>>>>>> I can't find a reference to this in the spec, but the TCK
>>>>>>> definitely
>>>>>>> says this must throw an IllegalStateException.
>>>>>>>
>>>>>>> -David
>>>>>>>
>>>>>>>> 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:@englearn- 
>>>>>>>>>> app1@cisco.com:
>>>>>>>>>> 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  
>>>>>>>>>>> <bp...@cisco.com>
>>>>>>>>>>> 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.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> View this message in context: http://www.nabble.com/Geronimo-2.1-
>>>>>> and-Seam-tp15621154s134p15902126.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-tp15621154s134p15950560.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-tp15621154s134p15980277.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-tp15621154s134p15995267.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo 2.1 and Seam

Posted by David Blevins <da...@visi.com>.
On Mar 11, 2008, at 10:19 AM, Burt Prior wrote:

> Hi David,
>
> Wow!  This is awesome news.  Very exciting.
>
> Ok, we are ready to apply this patch to our 2.1.
>
> Sorry to ask; could you be a bit more specific on what I need to do  
> to apply
> this patch?
>
>> If you grab the org.apache.openejb.core.Operation class from the  
>> latest
>> snapshot[1] and put it into your openejb-core-3.0-beta-2.jar  
>> replacing the
>> existing Operation.class, things should work.
>
> I'm not sure how to do this exactly.  Could I ask for your help?

Sure.  You'll want to make sure your server is shutdown, then extract  
this jar into a clean temp directory:

   repository/org/apache/openejb/openejb-core/3.0-beta-2/openejb- 
core-3.0-beta-2.jar

Then delete the file: org/apache/openejb/core/Operation.class

Now you want to grab the openejb-core-3.0-SNAPSHOT jar I pointed you  
at and extract it into it's own clean temp directory.  Then move the  
3.0-SNAPSHOT version of org/apache/openejb/core/Operation.class into  
the directory where the 3.0-beta-2 classes are extracted.  Now you  
simply need to re-jar the contents of the extracted and updated 3.0- 
beta-2 temp directory then copy the new jar file over top of the  
openejb-core-3.0-beta-2.jar in your geronimo repository.  Then go  
ahead and boot your server up.

> Thanks again for your excellent work with our team and Gavin.

No problem, thanks for hanging in there.  We appreciate it.  Hopefully  
we can get a new release out with this fixed asap.

-David


> David Blevins wrote:
>>
>> Ok, I've been digging around in the TCK and chatting with Gavin  
>> offline.
>>
>> Looks like this is an issue on our end after all.  I had originally
>> thought @Destroy mapped to @PreDestroy, which would definitely result
>> in the IllegalStateException, but @Remove is very different.  I've
>> done a check with the TCK to verify that relaxing the get/ 
>> setParameter
>> restriction in reference to @Remove is ok and things looked good, so
>> I've gone ahead and checked in that change.
>>
>> Now, dealing with your existing build might be a bit trickier, but if
>> you're willing to crack open the openejb-core-3.0-beta-2.jar and  
>> patch
>> one class, we should be able to get things working for you.
>>
>> Here was the change:
>> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/Operation.java?r1=635766&r2=635767&pathrev=635767&view=patch
>>
>> If you grab the org.apache.openejb.core.Operation class from the
>> latest snapshot[1] and put it into your openejb-core-3.0-beta-2.jar
>> replacing the existing Operation.class, things should work.
>>
>> -David
>>
>> [1]
>> http://people.apache.org/repo/m2-snapshot-repository/org/apache/openejb/openejb-core/3.0-SNAPSHOT/openejb-core-3.0-20080311.012606-8.jar
>>
>>
>> On Mar 10, 2008, at 10:31 AM, Burt Prior wrote:
>>
>>>
>>> Hi David,
>>>
>>> Gavin King just responded with an interesting comment about a  
>>> possible
>>> Geronimo/TCK bug and Seam:
>>>
>>> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>>> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>>>
>>> I was wondering if you had a moment, could you add your $0.02?  It
>>> appears
>>> he and his team will be looking into this issue.
>>>
>>> Thanks very much,
>>> .Burt
>>>
>>>
>>>
>>> djencks wrote:
>>>>
>>>> I talked with david blevins about this a little more.  From the
>>>> evidence available so far we think that seam is not jee5 compliant
>>>> with the tck requirements.  If openejb did not throw this exception
>>>> in these circumstances it would fail the tck.  Recall that seam is
>>>> developed on a non-jee5-certified platform.  Under these
>>>> circumstances we'd have a hard time changing openejb to not throw  
>>>> the
>>>> exception. Do you have any evidence that seam runs with a bean  
>>>> with a
>>>> @Destroy annotated method on any certified platform?
>>>>
>>>> On the other hand the requirement appears to be only in tck code  
>>>> and
>>>> not stated in the spec.  Also, it doesn't make much sense.  Thus it
>>>> might be worth pursuing a challenge to the tck.  I would think the
>>>> jboss/seam developers would be the ones to start this although we
>>>> might challenge it also.  The challenge process typically takes a
>>>> while.
>>>>
>>>> Seeing the entire stack trace from your bean's @Destroy method to  
>>>> the
>>>> original exception might possibly shed more light on the subject.
>>>>
>>>> Other than filling up your logs what problems is this causing?   
>>>> If it
>>>> does not cause functional problems perhaps pursuing a challenge  
>>>> would
>>>> be the best solution.
>>>>
>>>> thanks
>>>> david jencks
>>>>
>>>> On Mar 7, 2008, at 10:06 AM, Burt Prior wrote:
>>>>
>>>>>
>>>>> Hi David,
>>>>>
>>>>> Thanks for the reply.  Our team really needs some help in solving
>>>>> this last
>>>>> issue with Geronimo and Seam.  There must be some way to resolve
>>>>> this.
>>>>>
>>>>> As I exercise Seam's booking app, I monitor the Geronimo log very
>>>>> closely.
>>>>> As I mentioned, the app works fine.  You can see the entities and
>>>>> ejb3
>>>>> (stateful) session beans are found (jndi) and loaded correctly.
>>>>> The only
>>>>> error we see is the one mentioned in my last post.
>>>>>
>>>>> The error is thrown, and the app continues on.
>>>>>
>>>>> Data is saved correctly in the DB, and the business logic in the
>>>>> session
>>>>> beans are executed in the container fine.
>>>>>
>>>>> After closer inspection of the log, the error appears every time
>>>>> any session
>>>>> bean is invoked, for example, 'BookingListAction' ->  
>>>>> 'bookingList',
>>>>> 'HotelSearchingAction' -> 'hostSearch'.   I've went over the  
>>>>> source
>>>>> code for
>>>>> these beans; they are simple and easy to understand, and I don't  
>>>>> see
>>>>> anything that would cause this error.
>>>>>
>>>>> What every session bean shares is the following method and
>>>>> annotation:
>>>>>
>>>>> ...
>>>>> @Destroy @Remove
>>>>> public void destroy() {}
>>>>> ...
>>>>>
>>>>> I think this is related to the error, but I'm not sure.  I'm
>>>>> looking for
>>>>> something to change in any bean code, but I don't see a thing.
>>>>>
>>>>> The Seam 'booking' example is important to our team to work with  
>>>>> no
>>>>> errors
>>>>> because this is exactly how we are building our current production
>>>>> app;
>>>>> (Geronimo 2.1, Seam 2.1, JSF (facelets), EJB3 Session Beans, JPA
>>>>> Entities).
>>>>>
>>>>> And everything works, except for this error!
>>>>>
>>>>> It appears to us that any 'Seam app' running on Geronimo 2.1 would
>>>>> experience this issue.
>>>>>
>>>>> Could we ask for you and your team's help to work with us in
>>>>> resolving this,
>>>>> and how we can move forward?
>>>>>
>>>>> Thanks very much for your time and help,
>>>>> .Burt
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> David Blevins wrote:
>>>>>>
>>>>>>
>>>>>> On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:
>>>>>>
>>>>>>> ...
>>>>>>> 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
>>>>>>> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
>>>>>>> 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?
>>>>>>
>>>>>> This it seems like some code is trying to call
>>>>>> InvocationContext.getParameters() from inside a lifecycle method.
>>>>>>
>>>>>> I can't find a reference to this in the spec, but the TCK
>>>>>> definitely
>>>>>> says this must throw an IllegalStateException.
>>>>>>
>>>>>> -David
>>>>>>
>>>>>>> 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:@englearn- 
>>>>>>>>> app1@cisco.com:
>>>>>>>>> 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  
>>>>>>>>>> <bp...@cisco.com>
>>>>>>>>>> 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.
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> -- 
>>>>> View this message in context: http://www.nabble.com/Geronimo-2.1-
>>>>> and-Seam-tp15621154s134p15902126.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-tp15621154s134p15950560.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-tp15621154s134p15980277.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>
>


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

Wow!  This is awesome news.  Very exciting.

Ok, we are ready to apply this patch to our 2.1.

Sorry to ask; could you be a bit more specific on what I need to do to apply
this patch?

> If you grab the org.apache.openejb.core.Operation class from the latest
> snapshot[1] and put it into your openejb-core-3.0-beta-2.jar replacing the
> existing Operation.class, things should work.

I'm not sure how to do this exactly.  Could I ask for your help?

Thanks again for your excellent work with our team and Gavin.
.Burt



David Blevins wrote:
> 
> Ok, I've been digging around in the TCK and chatting with Gavin offline.
> 
> Looks like this is an issue on our end after all.  I had originally  
> thought @Destroy mapped to @PreDestroy, which would definitely result  
> in the IllegalStateException, but @Remove is very different.  I've  
> done a check with the TCK to verify that relaxing the get/setParameter  
> restriction in reference to @Remove is ok and things looked good, so  
> I've gone ahead and checked in that change.
> 
> Now, dealing with your existing build might be a bit trickier, but if  
> you're willing to crack open the openejb-core-3.0-beta-2.jar and patch  
> one class, we should be able to get things working for you.
> 
> Here was the change: 
> http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/Operation.java?r1=635766&r2=635767&pathrev=635767&view=patch
> 
> If you grab the org.apache.openejb.core.Operation class from the  
> latest snapshot[1] and put it into your openejb-core-3.0-beta-2.jar  
> replacing the existing Operation.class, things should work.
> 
> -David
> 
> [1]
> http://people.apache.org/repo/m2-snapshot-repository/org/apache/openejb/openejb-core/3.0-SNAPSHOT/openejb-core-3.0-20080311.012606-8.jar
> 
> 
> On Mar 10, 2008, at 10:31 AM, Burt Prior wrote:
> 
>>
>> Hi David,
>>
>> Gavin King just responded with an interesting comment about a possible
>> Geronimo/TCK bug and Seam:
>>
>> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>>
>> I was wondering if you had a moment, could you add your $0.02?  It  
>> appears
>> he and his team will be looking into this issue.
>>
>> Thanks very much,
>> .Burt
>>
>>
>>
>> djencks wrote:
>>>
>>> I talked with david blevins about this a little more.  From the
>>> evidence available so far we think that seam is not jee5 compliant
>>> with the tck requirements.  If openejb did not throw this exception
>>> in these circumstances it would fail the tck.  Recall that seam is
>>> developed on a non-jee5-certified platform.  Under these
>>> circumstances we'd have a hard time changing openejb to not throw the
>>> exception. Do you have any evidence that seam runs with a bean with a
>>> @Destroy annotated method on any certified platform?
>>>
>>> On the other hand the requirement appears to be only in tck code and
>>> not stated in the spec.  Also, it doesn't make much sense.  Thus it
>>> might be worth pursuing a challenge to the tck.  I would think the
>>> jboss/seam developers would be the ones to start this although we
>>> might challenge it also.  The challenge process typically takes a  
>>> while.
>>>
>>> Seeing the entire stack trace from your bean's @Destroy method to the
>>> original exception might possibly shed more light on the subject.
>>>
>>> Other than filling up your logs what problems is this causing?  If it
>>> does not cause functional problems perhaps pursuing a challenge would
>>> be the best solution.
>>>
>>> thanks
>>> david jencks
>>>
>>> On Mar 7, 2008, at 10:06 AM, Burt Prior wrote:
>>>
>>>>
>>>> Hi David,
>>>>
>>>> Thanks for the reply.  Our team really needs some help in solving
>>>> this last
>>>> issue with Geronimo and Seam.  There must be some way to resolve  
>>>> this.
>>>>
>>>> As I exercise Seam's booking app, I monitor the Geronimo log very
>>>> closely.
>>>> As I mentioned, the app works fine.  You can see the entities and  
>>>> ejb3
>>>> (stateful) session beans are found (jndi) and loaded correctly.
>>>> The only
>>>> error we see is the one mentioned in my last post.
>>>>
>>>> The error is thrown, and the app continues on.
>>>>
>>>> Data is saved correctly in the DB, and the business logic in the
>>>> session
>>>> beans are executed in the container fine.
>>>>
>>>> After closer inspection of the log, the error appears every time
>>>> any session
>>>> bean is invoked, for example, 'BookingListAction' -> 'bookingList',
>>>> 'HotelSearchingAction' -> 'hostSearch'.   I've went over the source
>>>> code for
>>>> these beans; they are simple and easy to understand, and I don't see
>>>> anything that would cause this error.
>>>>
>>>> What every session bean shares is the following method and  
>>>> annotation:
>>>>
>>>> ...
>>>> @Destroy @Remove
>>>> public void destroy() {}
>>>> ...
>>>>
>>>> I think this is related to the error, but I'm not sure.  I'm
>>>> looking for
>>>> something to change in any bean code, but I don't see a thing.
>>>>
>>>> The Seam 'booking' example is important to our team to work with no
>>>> errors
>>>> because this is exactly how we are building our current production
>>>> app;
>>>> (Geronimo 2.1, Seam 2.1, JSF (facelets), EJB3 Session Beans, JPA
>>>> Entities).
>>>>
>>>> And everything works, except for this error!
>>>>
>>>> It appears to us that any 'Seam app' running on Geronimo 2.1 would
>>>> experience this issue.
>>>>
>>>> Could we ask for you and your team's help to work with us in
>>>> resolving this,
>>>> and how we can move forward?
>>>>
>>>> Thanks very much for your time and help,
>>>> .Burt
>>>>
>>>>
>>>>
>>>>
>>>> David Blevins wrote:
>>>>>
>>>>>
>>>>> On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:
>>>>>
>>>>>> ...
>>>>>> 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
>>>>>> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
>>>>>> 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?
>>>>>
>>>>> This it seems like some code is trying to call
>>>>> InvocationContext.getParameters() from inside a lifecycle method.
>>>>>
>>>>> I can't find a reference to this in the spec, but the TCK  
>>>>> definitely
>>>>> says this must throw an IllegalStateException.
>>>>>
>>>>> -David
>>>>>
>>>>>> 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:@englearn-app1@cisco.com:
>>>>>>>> 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 <bp...@cisco.com>
>>>>>>>>> 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.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> -- 
>>>> View this message in context: http://www.nabble.com/Geronimo-2.1-
>>>> and-Seam-tp15621154s134p15902126.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-tp15621154s134p15950560.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-tp15621154s134p15980277.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo 2.1 and Seam

Posted by David Blevins <da...@visi.com>.
Ok, I've been digging around in the TCK and chatting with Gavin offline.

Looks like this is an issue on our end after all.  I had originally  
thought @Destroy mapped to @PreDestroy, which would definitely result  
in the IllegalStateException, but @Remove is very different.  I've  
done a check with the TCK to verify that relaxing the get/setParameter  
restriction in reference to @Remove is ok and things looked good, so  
I've gone ahead and checked in that change.

Now, dealing with your existing build might be a bit trickier, but if  
you're willing to crack open the openejb-core-3.0-beta-2.jar and patch  
one class, we should be able to get things working for you.

Here was the change:  http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/core/Operation.java?r1=635766&r2=635767&pathrev=635767&view=patch

If you grab the org.apache.openejb.core.Operation class from the  
latest snapshot[1] and put it into your openejb-core-3.0-beta-2.jar  
replacing the existing Operation.class, things should work.

-David

[1] http://people.apache.org/repo/m2-snapshot-repository/org/apache/openejb/openejb-core/3.0-SNAPSHOT/openejb-core-3.0-20080311.012606-8.jar


On Mar 10, 2008, at 10:31 AM, Burt Prior wrote:

>
> Hi David,
>
> Gavin King just responded with an interesting comment about a possible
> Geronimo/TCK bug and Seam:
>
> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>
> I was wondering if you had a moment, could you add your $0.02?  It  
> appears
> he and his team will be looking into this issue.
>
> Thanks very much,
> .Burt
>
>
>
> djencks wrote:
>>
>> I talked with david blevins about this a little more.  From the
>> evidence available so far we think that seam is not jee5 compliant
>> with the tck requirements.  If openejb did not throw this exception
>> in these circumstances it would fail the tck.  Recall that seam is
>> developed on a non-jee5-certified platform.  Under these
>> circumstances we'd have a hard time changing openejb to not throw the
>> exception. Do you have any evidence that seam runs with a bean with a
>> @Destroy annotated method on any certified platform?
>>
>> On the other hand the requirement appears to be only in tck code and
>> not stated in the spec.  Also, it doesn't make much sense.  Thus it
>> might be worth pursuing a challenge to the tck.  I would think the
>> jboss/seam developers would be the ones to start this although we
>> might challenge it also.  The challenge process typically takes a  
>> while.
>>
>> Seeing the entire stack trace from your bean's @Destroy method to the
>> original exception might possibly shed more light on the subject.
>>
>> Other than filling up your logs what problems is this causing?  If it
>> does not cause functional problems perhaps pursuing a challenge would
>> be the best solution.
>>
>> thanks
>> david jencks
>>
>> On Mar 7, 2008, at 10:06 AM, Burt Prior wrote:
>>
>>>
>>> Hi David,
>>>
>>> Thanks for the reply.  Our team really needs some help in solving
>>> this last
>>> issue with Geronimo and Seam.  There must be some way to resolve  
>>> this.
>>>
>>> As I exercise Seam's booking app, I monitor the Geronimo log very
>>> closely.
>>> As I mentioned, the app works fine.  You can see the entities and  
>>> ejb3
>>> (stateful) session beans are found (jndi) and loaded correctly.
>>> The only
>>> error we see is the one mentioned in my last post.
>>>
>>> The error is thrown, and the app continues on.
>>>
>>> Data is saved correctly in the DB, and the business logic in the
>>> session
>>> beans are executed in the container fine.
>>>
>>> After closer inspection of the log, the error appears every time
>>> any session
>>> bean is invoked, for example, 'BookingListAction' -> 'bookingList',
>>> 'HotelSearchingAction' -> 'hostSearch'.   I've went over the source
>>> code for
>>> these beans; they are simple and easy to understand, and I don't see
>>> anything that would cause this error.
>>>
>>> What every session bean shares is the following method and  
>>> annotation:
>>>
>>> ...
>>> @Destroy @Remove
>>> public void destroy() {}
>>> ...
>>>
>>> I think this is related to the error, but I'm not sure.  I'm
>>> looking for
>>> something to change in any bean code, but I don't see a thing.
>>>
>>> The Seam 'booking' example is important to our team to work with no
>>> errors
>>> because this is exactly how we are building our current production
>>> app;
>>> (Geronimo 2.1, Seam 2.1, JSF (facelets), EJB3 Session Beans, JPA
>>> Entities).
>>>
>>> And everything works, except for this error!
>>>
>>> It appears to us that any 'Seam app' running on Geronimo 2.1 would
>>> experience this issue.
>>>
>>> Could we ask for you and your team's help to work with us in
>>> resolving this,
>>> and how we can move forward?
>>>
>>> Thanks very much for your time and help,
>>> .Burt
>>>
>>>
>>>
>>>
>>> David Blevins wrote:
>>>>
>>>>
>>>> On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:
>>>>
>>>>> ...
>>>>> 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
>>>>> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
>>>>> 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?
>>>>
>>>> This it seems like some code is trying to call
>>>> InvocationContext.getParameters() from inside a lifecycle method.
>>>>
>>>> I can't find a reference to this in the spec, but the TCK  
>>>> definitely
>>>> says this must throw an IllegalStateException.
>>>>
>>>> -David
>>>>
>>>>> 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:@englearn-app1@cisco.com:
>>>>>>> 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 <bp...@cisco.com>
>>>>>>>> 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.
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>> -- 
>>> View this message in context: http://www.nabble.com/Geronimo-2.1-
>>> and-Seam-tp15621154s134p15902126.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-tp15621154s134p15950560.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>
>


Re: Geronimo 2.1 and Seam - resend

Posted by "Jay D. McHugh" <ja...@gmail.com>.
Hey all,

Gavin said that the @Remove should not be considered a Lifecycle 
callback.  But that is what is causing the problem.

OpenEJB is throwing the exception because it is treating the @Remove as 
a callback - So, the getParameters() call is throwing the exception.

I would guess that Gavin is right (But I am completely out of my depth 
to do anything other than guess).  My brief check this morning agrees.

It looks like the problem is in the Operation enum type from OpenEJB:

public enum Operation {
     INJECTION(true),
     POST_CONSTRUCT(true),
     BUSINESS(false),
     BUSINESS_WS(false),
     TIMEOUT(true),
     AFTER_BEGIN(true),
     AFTER_COMPLETION(true),
     BEFORE_COMPLETION(true),
     PRE_DESTROY(true),
     REMOVE(true),            <----------- Here is the line in question
     SET_CONTEXT(true),
     UNSET_CONTEXT(true),
     CREATE(true),
     POST_CREATE(true),
     ACTIVATE(true),
     PASSIVATE(true),
     FIND(true),
     HOME(true),
     LOAD(true),
     STORE(true);

     private boolean callback;


     Operation(boolean callback) {
         this.callback = callback;
     }


     public boolean isCallback() {
         return callback;
     }
}

It looks like the @Remove being incorrectly flagged, no?

Jay

Burt Prior wrote:
> Hi David,
> 
> Gavin King just responded with an interesting comment about a possible
> Geronimo/TCK bug and Seam:
> 
> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
> http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements 
> 
> I was wondering if you had a moment, could you add your $0.02?  It appears
> he and his team will be looking into this issue.
> 
> Thanks very much,
> .Burt
> 
> 
> 
> djencks wrote:
>> I talked with david blevins about this a little more.  From the  
>> evidence available so far we think that seam is not jee5 compliant  
>> with the tck requirements.  If openejb did not throw this exception  
>> in these circumstances it would fail the tck.  Recall that seam is  
>> developed on a non-jee5-certified platform.  Under these  
>> circumstances we'd have a hard time changing openejb to not throw the  
>> exception. Do you have any evidence that seam runs with a bean with a  
>> @Destroy annotated method on any certified platform?
>>
>> On the other hand the requirement appears to be only in tck code and  
>> not stated in the spec.  Also, it doesn't make much sense.  Thus it  
>> might be worth pursuing a challenge to the tck.  I would think the  
>> jboss/seam developers would be the ones to start this although we  
>> might challenge it also.  The challenge process typically takes a while.
>>
>> Seeing the entire stack trace from your bean's @Destroy method to the  
>> original exception might possibly shed more light on the subject.
>>
>> Other than filling up your logs what problems is this causing?  If it  
>> does not cause functional problems perhaps pursuing a challenge would  
>> be the best solution.
>>
>> thanks
>> david jencks
>>
>> On Mar 7, 2008, at 10:06 AM, Burt Prior wrote:
>>
>>> Hi David,
>>>
>>> Thanks for the reply.  Our team really needs some help in solving  
>>> this last
>>> issue with Geronimo and Seam.  There must be some way to resolve this.
>>>
>>> As I exercise Seam's booking app, I monitor the Geronimo log very  
>>> closely.
>>> As I mentioned, the app works fine.  You can see the entities and ejb3
>>> (stateful) session beans are found (jndi) and loaded correctly.   
>>> The only
>>> error we see is the one mentioned in my last post.
>>>
>>> The error is thrown, and the app continues on.
>>>
>>> Data is saved correctly in the DB, and the business logic in the  
>>> session
>>> beans are executed in the container fine.
>>>
>>> After closer inspection of the log, the error appears every time  
>>> any session
>>> bean is invoked, for example, 'BookingListAction' -> 'bookingList',
>>> 'HotelSearchingAction' -> 'hostSearch'.   I've went over the source  
>>> code for
>>> these beans; they are simple and easy to understand, and I don't see
>>> anything that would cause this error.
>>>
>>> What every session bean shares is the following method and annotation:
>>>
>>> ...
>>> @Destroy @Remove
>>> public void destroy() {}
>>> ...
>>>
>>> I think this is related to the error, but I'm not sure.  I'm  
>>> looking for
>>> something to change in any bean code, but I don't see a thing.
>>>
>>> The Seam 'booking' example is important to our team to work with no  
>>> errors
>>> because this is exactly how we are building our current production  
>>> app;
>>> (Geronimo 2.1, Seam 2.1, JSF (facelets), EJB3 Session Beans, JPA  
>>> Entities).
>>>
>>> And everything works, except for this error!
>>>
>>> It appears to us that any 'Seam app' running on Geronimo 2.1 would
>>> experience this issue.
>>>
>>> Could we ask for you and your team's help to work with us in  
>>> resolving this,
>>> and how we can move forward?
>>>
>>> Thanks very much for your time and help,
>>> .Burt
>>>
>>>
>>>
>>>
>>> David Blevins wrote:
>>>>
>>>> On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:
>>>>
>>>>> ...
>>>>> 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
>>>>> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
>>>>> 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?
>>>> This it seems like some code is trying to call
>>>> InvocationContext.getParameters() from inside a lifecycle method.
>>>>
>>>> I can't find a reference to this in the spec, but the TCK definitely
>>>> says this must throw an IllegalStateException.
>>>>
>>>> -David
>>>>
>>>>> 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:@englearn-app1@cisco.com:
>>>>>>> 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 <bp...@cisco.com>
>>>>>>>> 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.
>>>>>
>>>>>
>>>>
>>>>
>>> -- 
>>> View this message in context: http://www.nabble.com/Geronimo-2.1- 
>>> and-Seam-tp15621154s134p15902126.html
>>> Sent from the Apache Geronimo - Users mailing list archive at  
>>> Nabble.com.
>>>
>>
>>
> 

Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

Gavin King just responded with an interesting comment about a possible
Geronimo/TCK bug and Seam:

http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
http://seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements 

I was wondering if you had a moment, could you add your $0.02?  It appears
he and his team will be looking into this issue.

Thanks very much,
.Burt



djencks wrote:
> 
> I talked with david blevins about this a little more.  From the  
> evidence available so far we think that seam is not jee5 compliant  
> with the tck requirements.  If openejb did not throw this exception  
> in these circumstances it would fail the tck.  Recall that seam is  
> developed on a non-jee5-certified platform.  Under these  
> circumstances we'd have a hard time changing openejb to not throw the  
> exception. Do you have any evidence that seam runs with a bean with a  
> @Destroy annotated method on any certified platform?
> 
> On the other hand the requirement appears to be only in tck code and  
> not stated in the spec.  Also, it doesn't make much sense.  Thus it  
> might be worth pursuing a challenge to the tck.  I would think the  
> jboss/seam developers would be the ones to start this although we  
> might challenge it also.  The challenge process typically takes a while.
> 
> Seeing the entire stack trace from your bean's @Destroy method to the  
> original exception might possibly shed more light on the subject.
> 
> Other than filling up your logs what problems is this causing?  If it  
> does not cause functional problems perhaps pursuing a challenge would  
> be the best solution.
> 
> thanks
> david jencks
> 
> On Mar 7, 2008, at 10:06 AM, Burt Prior wrote:
> 
>>
>> Hi David,
>>
>> Thanks for the reply.  Our team really needs some help in solving  
>> this last
>> issue with Geronimo and Seam.  There must be some way to resolve this.
>>
>> As I exercise Seam's booking app, I monitor the Geronimo log very  
>> closely.
>> As I mentioned, the app works fine.  You can see the entities and ejb3
>> (stateful) session beans are found (jndi) and loaded correctly.   
>> The only
>> error we see is the one mentioned in my last post.
>>
>> The error is thrown, and the app continues on.
>>
>> Data is saved correctly in the DB, and the business logic in the  
>> session
>> beans are executed in the container fine.
>>
>> After closer inspection of the log, the error appears every time  
>> any session
>> bean is invoked, for example, 'BookingListAction' -> 'bookingList',
>> 'HotelSearchingAction' -> 'hostSearch'.   I've went over the source  
>> code for
>> these beans; they are simple and easy to understand, and I don't see
>> anything that would cause this error.
>>
>> What every session bean shares is the following method and annotation:
>>
>> ...
>> @Destroy @Remove
>> public void destroy() {}
>> ...
>>
>> I think this is related to the error, but I'm not sure.  I'm  
>> looking for
>> something to change in any bean code, but I don't see a thing.
>>
>> The Seam 'booking' example is important to our team to work with no  
>> errors
>> because this is exactly how we are building our current production  
>> app;
>> (Geronimo 2.1, Seam 2.1, JSF (facelets), EJB3 Session Beans, JPA  
>> Entities).
>>
>> And everything works, except for this error!
>>
>> It appears to us that any 'Seam app' running on Geronimo 2.1 would
>> experience this issue.
>>
>> Could we ask for you and your team's help to work with us in  
>> resolving this,
>> and how we can move forward?
>>
>> Thanks very much for your time and help,
>> .Burt
>>
>>
>>
>>
>> David Blevins wrote:
>>>
>>>
>>> On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:
>>>
>>>> ...
>>>> 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
>>>> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
>>>> 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?
>>>
>>> This it seems like some code is trying to call
>>> InvocationContext.getParameters() from inside a lifecycle method.
>>>
>>> I can't find a reference to this in the spec, but the TCK definitely
>>> says this must throw an IllegalStateException.
>>>
>>> -David
>>>
>>>> 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:@englearn-app1@cisco.com:
>>>>>> 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 <bp...@cisco.com>
>>>>>>> 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.
>>>>
>>>>
>>>
>>>
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/Geronimo-2.1- 
>> and-Seam-tp15621154s134p15902126.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-tp15621154s134p15950560.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo 2.1 and Seam

Posted by "Jay D. McHugh" <ja...@jnwd.net>.
Hey all,

Gavin already responded to this.

He has said that the @Remove/@Destroy should not be considered a 
Lifecycle callback.  But that is what is causing the problem.

OpenEJB is throwing the exception because it is treating the @Remove as 
a callback - So, the getParameters() call is throwing the exception.

Where does the operation get set as being a callback?

Or, is the @Remove/@Destroy being correctly flagged?

I would guess that Gavin is right (But I am completely out of my depth 
to anything other than guess).

Jay

Burt Prior wrote:
> Hi All,
> 
> I've submitted the following Seam Bug: 
> http://jira.jboss.com/jira/browse/JBSEAM-2713 Seam Bug Report 
> 
> I hope I captured all of your excellent analysis and suggestions.  Please
> check it out when you get a chance, and feel free add any comments.
> 
> I'm hoping for a quick resolution after Gavin and his team has look at this.
> 
> Thanks,
> .Burt
> 
> 
> 
> Burt Prior wrote:
>> Hi Jay, (and David^2)
>>
>> Thanks for checking that.  I didn't have time to experiment with it on
>> Friday.  Darn. Ok, well.
>>
>> I just now checked my Seam users group posting on this.  It looks like
>> Gavin King replied.
>>
>> Please check it out, and don't hesitate to respond as well.
>>
>> http://www.seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>> Geronimo and Seam and TCK 
>>
>> Gavin mentioned to fill out a bug report.  Any suggestions?
>>
>> Thanks everyone.  This is really excellent.  I wonder if we could get some
>> kinda patch for Seam on Geronimo?
>> .Burt
>>
>>
>>
>>
>>
>> Jay D. McHugh-3 wrote:
>>> Hey Burt,
>>>
>>> I just tried removing the @Destroy annotations in the booking example 
>>> but the errors still pop up.
>>>
>>> Jay
>>>
>>> Burt Prior wrote:
>>>> Hi David,
>>>>
>>>> I just posted on SeamFramework.org:
>>>>
>>>> http://www.seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>>>> Seam Posting 
>>>>
>>>> I'm hoping to get some way to resolve this issue soon.
>>>>
>>>> Perhaps its as you mentioned:  Can't I just safely remove @Destroy?
>>>>
>>>> Thanks,
>>>> .Burt
>>>>
>>>>
>>>>
>>>>
>>>> djencks wrote:
>>>>> On Mar 7, 2008, at 2:51 PM, Burt Prior wrote:
>>>>>
>>>>>> Hi David and David,
>>>>>>
>>>>>> First, thank you both for helping us.  Our team has been hanging on  
>>>>>> your
>>>>>> every post!
>>>>>>
>>>>>>> Do you have any evidence that seam runs with a bean with a @Destroy
>>>>>>> annotated method on any certified platform?
>>>>>> I sure don't, other than latest Seam doc/articles i've went thru here:
>>>>>> http://seamframework.org/Documentation/GettingStarted Getting  
>>>>>> Started with
>>>>>> Seam
>>>>>>
>>>>>> Also, this booking example is the 'jee5' booking example; there is  
>>>>>> a 'non
>>>>>> jee5' booking example as well in every Seam download.  I think the  
>>>>>> 'non
>>>>>> jee5' uses plain JavaBean and Hibernate instead of EJB3 and JPA.
>>>>>>
>>>>>> The only other JEE5 certified platform I know of that works with  
>>>>>> Seam is
>>>>>> GlassFish.  Not from personal exerience but from articles from Sun  
>>>>>> and Seam.
>>>>>> http://weblogs.java.net/blog/caroljmcdonald/archive/2007/07/ 
>>>>>> sample_applicat_1.html
>>>>>> GlassFish and Seam
>>>>>>
>>>>>> I was just wondering. Anyone running Seam on a JEE5 compliant  
>>>>>> server such
>>>>>> Geronimo or GlassFish must get the same error?
>>>>> Well, if they have an ejb with a @Destroy method we think they will  
>>>>> get this error.  The glassfish example for v2 does have one @Destroy  
>>>>> method in CatalogBean but my experience trying to extract information  
>>>>> from Glassfish has not been a happy one so I haven't tried anything  
>>>>> on it.
>>>>>
>>>>>>> Also, it doesn't make much sense.
>>>>>> Yes, i agree.  All the errors we solved to get to this point 'made  
>>>>>> sense'.
>>>>>> But when I saw this error, and read David's response, i thought we  
>>>>>> were in
>>>>>> trouble;  If I'm hitting up against the spec, and I can't change my  
>>>>>> code,
>>>>>> where does that leave my architecture?  (Geronimo, EJB3, Seam,  
>>>>>> Oracle, JPA,
>>>>>> JSF).
>>>>>>
>>>>>>> I would think the jboss/seam developers would be the ones to start  
>>>>>>> this
>>>>>>> although we  might challenge it also.
>>>>>> Yes, I will post on the appropriate Seam list today.  I guess the  
>>>>>> question
>>>>>> is to focus on @Destroy?  How would you phrase it?
>>>>>>
>>>>>> What also doesn't make sense is the Seam doc for @Destroy.  Why do  
>>>>>> we see
>>>>>> any issue at all?
>>>>>> http://docs.jboss.com/seam/2.1.0.A1/reference/en/html/ 
>>>>>> annotations.html#d0e19563
>>>>>> Seam @Destroy Annotation
>>>>>>
>>>>>>
>>>>>>> The challenge process typically takes a while.
>>>>>> Yes.  Not really an option for us.  We are trying get our Geronimo  
>>>>>> app out
>>>>>> now.
>>>>>>
>>>>>>> Other than filling up your logs what problems is this causing?
>>>>>> There appears to be no other errors or problems.  I've been  
>>>>>> exercising the
>>>>>> app, watching the console log in real time in the eclipse console,  
>>>>>> then
>>>>>> checking the db.  It appears to work fine.  It throws the  
>>>>>> exceptions, then
>>>>>> recovers.  It's always the same error: 'Callback methods cannot access
>>>>>> parameters'.
>>>>>>
>>>>>>> Seeing the entire stack trace from your bean's @Destroy method to the
>>>>>>> original exception might possibly shed more light on the subject.
>>>>> Does the destroy method on your beans actually do anything?  If, like  
>>>>> the samples, it does nothing, the simplest solution is to leave it  
>>>>> out.  If if does do something, does it get called?  My belief from  
>>>>> the stack trace is that it does not due to the  exception.
>>>>>
>>>>> As for wording... that's tricky.  I guess I'd say that running the  
>>>>> app on the geronimo/openejb javaee5 certified container results in  
>>>>> the stack trace and that allowing the InvocationContext to supply the  
>>>>> parameters during a lifecycle call results in tck failures.  I'd ask  
>>>>> if they can run the sample with the @Destroy method getting called on  
>>>>> a certified container without getting an exception and perhaps  
>>>>> mention that we aren't aware of any support in the spec itself for  
>>>>> this requirement.
>>>>>
>>>>> I'd include this part of the stack trace:
>>>>>
>>>>> 11:25:05,179 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.getParam 
>>>>> eters(ReflectionInvocationContext.java:71)
>>>>> 	at
>>>>> org.jboss.seam.intercept.EJBInvocationContext.getParameters 
>>>>> (EJBInvocationContext.java:34)
>>>>> 	at
>>>>> org.jboss.seam.intercept.SeamInvocationContext.getParameters 
>>>>> (SeamInvocationContext.java:49)
>>>>> 	at
>>>>> org.jboss.seam.core.MethodContextInterceptor.aroundInvoke 
>>>>> (MethodContextInterceptor.java:33)
>>>>> 	at
>>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>>> (SeamInvocationContext.java:68)
>>>>> 	at
>>>>> org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke 
>>>>> (EntityManagerProxyInterceptor.java:26)
>>>>> 	at
>>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>>> (SeamInvocationContext.java:68)
>>>>> 	at
>>>>> org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke 
>>>>> (HibernateSessionProxyInterceptor.java:27)
>>>>> 	at
>>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>>> (SeamInvocationContext.java:68)
>>>>> 	at
>>>>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
>>>>> 107)
>>>>> 	at
>>>>> org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke 
>>>>> (SessionBeanInterceptor.java:50)
>>>>> 	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
>>>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>>>> 	at
>>>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext 
>>>>> $Invocation.invoke(ReflectionInvocationContext.java:146)
>>>>> 	at
>>>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed( 
>>>>> ReflectionInvocationContext.java:129)
>>>>> 	at
>>>>> org.apache.openejb.core.interceptor.InterceptorStack.invoke 
>>>>> (InterceptorStack.java:67)
>>>>> 	at
>>>>> org.apache.openejb.core.stateful.StatefulContainer._invoke 
>>>>> (StatefulContainer.java:428)
>>>>> 	at
>>>>> org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject 
>>>>> (StatefulContainer.java:332)
>>>>> 	at
>>>>> org.apache.openejb.core.stateful.StatefulContainer.invoke 
>>>>> (StatefulContainer.java:244)
>>>>> 	at
>>>>> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod 
>>>>> (EjbObjectProxyHandler.java:217)
>>>>> 	at
>>>>> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke 
>>>>> (EjbObjectProxyHandler.java:77)
>>>>> 	at
>>>>> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke 
>>>>> (BaseEjbProxyHandler.java:321)
>>>>> 	at
>>>>> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke 
>>>>> (Jdk13InvocationHandler.java:49)
>>>>> 	at $Proxy76.destroy(Unknown Source)
>>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>>>> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
>>>>> 	at
>>>>> org.jboss.seam.intercept.RootInvocationContext.proceed 
>>>>> (RootInvocationContext.java:31)
>>>>> 	at
>>>>> org.jboss.seam.intercept.ClientSideInterceptor$1.proceed 
>>>>> (ClientSideInterceptor.java:76)
>>>>> 	at
>>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>>> (SeamInvocationContext.java:56)
>>>>> 	at
>>>>> org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke 
>>>>> (RemoveInterceptor.java:41)
>>>>> 	at
>>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>>> (SeamInvocationContext.java:68)
>>>>> 	at
>>>>> org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke 
>>>>> (SynchronizationInterceptor.java:32)
>>>>> 	at
>>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>>> (SeamInvocationContext.java:68)
>>>>> 	at
>>>>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
>>>>> 107)
>>>>> 	at
>>>>> org.jboss.seam.intercept.ClientSideInterceptor.invoke 
>>>>> (ClientSideInterceptor.java:54)
>>>>> 	at
>>>>> org.javassist.tmp.java.lang.Object_$$_javassist_4.destroy(Object_$ 
>>>>> $_javassist_4.java)
>>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>>>> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
>>>>> 	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
>>>>> 	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
>>>>> 	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
>>>>> 	at org.jboss.seam.Component.destroy(Component.java:1331)
>>>>> 	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
>>>>> 	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
>>>>> 	at
>>>>> org.jboss.seam.contexts.ServletLifecycle.endSession 
>>>>> (ServletLifecycle.java:129)
>>>>> 	at
>>>>> org.jboss.seam.servlet.SeamListener.sessionDestroyed 
>>>>> (SeamListener.java:49)
>>>>> 	at
>>>>> org.mortbay.jetty.servlet.AbstractSessionManager.removeSession 
>>>>> (AbstractSessionManager.java:665)
>>>>> 	at
>>>>> org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate 
>>>>> (AbstractSessionManager.java:938)
>>>>> 	at
>>>>> org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate 
>>>>> (HashSessionManager.java:493)
>>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>>>> 	at
>>>>> org.jboss.seam.contexts.FacesLifecycle.invalidateSession 
>>>>> (FacesLifecycle.java:141)
>>>>> 	at
>>>>> org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java: 
>>>>> 118)
>>>>> 	at
>>>>> org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse 
>>>>> (SeamPhaseListener.java:515)
>>>>> 	at
>>>>> org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase 
>>>>> (SeamPhaseListener.java:247)
>>>>> 	at
>>>>> org.jboss.seam.jsf.SeamPhaseListener.afterPhase 
>>>>> (SeamPhaseListener.java:194)
>>>>> 	at
>>>>> org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAf 
>>>>> ter(PhaseListenerManager.java:92)
>>>>> 	at
>>>>> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 
>>>>> 142)
>>>>> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
>>>>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 
>>>>> 487)
>>>>> 	at
>>>>> org.apache.geronimo.jetty6.InternalJettyServletHolder.handle 
>>>>> (InternalJettyServletHolder.java:65)
>>>>> 	at
>>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
>>>>> (ServletHandler.java:1093)
>>>>> 	at
>>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>>> (SeamFilter.java:83)
>>>>> 	at
>>>>> org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
>>>>> 	at
>>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>>> (SeamFilter.java:69)
>>>>> 	at
>>>>> org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
>>>>> 	at
>>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>>> (SeamFilter.java:69)
>>>>> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
>>>>> 	at
>>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>>> (SeamFilter.java:69)
>>>>> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java: 
>>>>> 141)
>>>>> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
>>>>> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
>>>>> 	at
>>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>>> (SeamFilter.java:69)
>>>>> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
>>>>> 	at
>>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>>> (SeamFilter.java:69)
>>>>> 	at
>>>>> org.jboss.seam.debug.hot.HotDeployFilter.doFilter 
>>>>> (HotDeployFilter.java:68)
>>>>> 	at
>>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>>> (SeamFilter.java:69)
>>>>> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
>>>>> 	at
>>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
>>>>> (ServletHandler.java:1084)
>>>>> 	at org.mortbay.jetty.servlet.ServletHandler.handle 
>>>>> (ServletHandler.java:360)
>>>>> 	at
>>>>> org.mortbay.jetty.security.SecurityHandler.handle 
>>>>> (SecurityHandler.java:216)
>>>>> 	at org.mortbay.jetty.servlet.SessionHandler.handle 
>>>>> (SessionHandler.java:181)
>>>>> 	at org.mortbay.jetty.handler.ContextHandler.handle 
>>>>> (ContextHandler.java:726)
>>>>> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 
>>>>> 405)
>>>>> 	at
>>>>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101 
>>>>> (TwistyWebAppContext.java:40)
>>>>> 	at
>>>>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
>>>>> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>>>>> 	at
>>>>> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
>>>>> (ThreadClassloaderHandler.java:46)
>>>>> 	at
>>>>> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
>>>>> (InstanceContextHandler.java:58)
>>>>> 	at
>>>>> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
>>>>> (UserTransactionHandler.java:48)
>>>>> 	at
>>>>> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
>>>>> (ComponentContextHandler.java:47)
>>>>> 	at
>>>>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
>>>>> (TwistyWebAppContext.java:59)
>>>>> 	at
>>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle 
>>>>> (ContextHandlerCollection.java:206)
>>>>> 	at
>>>>> org.mortbay.jetty.handler.HandlerCollection.handle 
>>>>> (HandlerCollection.java:114)
>>>>> 	at org.mortbay.jetty.handler.HandlerWrapper.handle 
>>>>> (HandlerWrapper.java:139)
>>>>> 	at org.mortbay.jetty.Server.handle(Server.java:324)
>>>>> 	at org.mortbay.jetty.HttpConnection.handleRequest 
>>>>> (HttpConnection.java:505)
>>>>> 	at
>>>>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete 
>>>>> (HttpConnection.java:828)
>>>>> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>>>>> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>>>> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>>>>> 	at
>>>>> org.mortbay.io.nio.SelectChannelEndPoint.run 
>>>>> (SelectChannelEndPoint.java:395)
>>>>> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>>>>> 	at
>>>>> org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run 
>>>>> (ThreadPool.java:344)
>>>>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown  
>>>>> Source)
>>>>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>>>>> 	at java.lang.Thread.run(Unknown Source)
>>>>>
>>>>>
>>>>> <snip>
>>>>>
>>>>> Hope this helps
>>>>> thanks
>>>>> david jencks
>>>>>
>>>>>
>>>>>
>>>
>>
> 


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi All,

I've submitted the following Seam Bug: 
http://jira.jboss.com/jira/browse/JBSEAM-2713 Seam Bug Report 

I hope I captured all of your excellent analysis and suggestions.  Please
check it out when you get a chance, and feel free add any comments.

I'm hoping for a quick resolution after Gavin and his team has look at this.

Thanks,
.Burt



Burt Prior wrote:
> 
> Hi Jay, (and David^2)
> 
> Thanks for checking that.  I didn't have time to experiment with it on
> Friday.  Darn. Ok, well.
> 
> I just now checked my Seam users group posting on this.  It looks like
> Gavin King replied.
> 
> Please check it out, and don't hesitate to respond as well.
> 
> http://www.seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
> Geronimo and Seam and TCK 
> 
> Gavin mentioned to fill out a bug report.  Any suggestions?
> 
> Thanks everyone.  This is really excellent.  I wonder if we could get some
> kinda patch for Seam on Geronimo?
> .Burt
> 
> 
> 
> 
> 
> Jay D. McHugh-3 wrote:
>> 
>> Hey Burt,
>> 
>> I just tried removing the @Destroy annotations in the booking example 
>> but the errors still pop up.
>> 
>> Jay
>> 
>> Burt Prior wrote:
>>> Hi David,
>>> 
>>> I just posted on SeamFramework.org:
>>> 
>>> http://www.seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>>> Seam Posting 
>>> 
>>> I'm hoping to get some way to resolve this issue soon.
>>> 
>>> Perhaps its as you mentioned:  Can't I just safely remove @Destroy?
>>> 
>>> Thanks,
>>> .Burt
>>> 
>>> 
>>> 
>>> 
>>> djencks wrote:
>>>>
>>>> On Mar 7, 2008, at 2:51 PM, Burt Prior wrote:
>>>>
>>>>> Hi David and David,
>>>>>
>>>>> First, thank you both for helping us.  Our team has been hanging on  
>>>>> your
>>>>> every post!
>>>>>
>>>>>> Do you have any evidence that seam runs with a bean with a @Destroy
>>>>>> annotated method on any certified platform?
>>>>> I sure don't, other than latest Seam doc/articles i've went thru here:
>>>>> http://seamframework.org/Documentation/GettingStarted Getting  
>>>>> Started with
>>>>> Seam
>>>>>
>>>>> Also, this booking example is the 'jee5' booking example; there is  
>>>>> a 'non
>>>>> jee5' booking example as well in every Seam download.  I think the  
>>>>> 'non
>>>>> jee5' uses plain JavaBean and Hibernate instead of EJB3 and JPA.
>>>>>
>>>>> The only other JEE5 certified platform I know of that works with  
>>>>> Seam is
>>>>> GlassFish.  Not from personal exerience but from articles from Sun  
>>>>> and Seam.
>>>>> http://weblogs.java.net/blog/caroljmcdonald/archive/2007/07/ 
>>>>> sample_applicat_1.html
>>>>> GlassFish and Seam
>>>>>
>>>>> I was just wondering. Anyone running Seam on a JEE5 compliant  
>>>>> server such
>>>>> Geronimo or GlassFish must get the same error?
>>>> Well, if they have an ejb with a @Destroy method we think they will  
>>>> get this error.  The glassfish example for v2 does have one @Destroy  
>>>> method in CatalogBean but my experience trying to extract information  
>>>> from Glassfish has not been a happy one so I haven't tried anything  
>>>> on it.
>>>>
>>>>>> Also, it doesn't make much sense.
>>>>> Yes, i agree.  All the errors we solved to get to this point 'made  
>>>>> sense'.
>>>>> But when I saw this error, and read David's response, i thought we  
>>>>> were in
>>>>> trouble;  If I'm hitting up against the spec, and I can't change my  
>>>>> code,
>>>>> where does that leave my architecture?  (Geronimo, EJB3, Seam,  
>>>>> Oracle, JPA,
>>>>> JSF).
>>>>>
>>>>>> I would think the jboss/seam developers would be the ones to start  
>>>>>> this
>>>>>> although we  might challenge it also.
>>>>> Yes, I will post on the appropriate Seam list today.  I guess the  
>>>>> question
>>>>> is to focus on @Destroy?  How would you phrase it?
>>>>>
>>>>> What also doesn't make sense is the Seam doc for @Destroy.  Why do  
>>>>> we see
>>>>> any issue at all?
>>>>> http://docs.jboss.com/seam/2.1.0.A1/reference/en/html/ 
>>>>> annotations.html#d0e19563
>>>>> Seam @Destroy Annotation
>>>>>
>>>>>
>>>>>> The challenge process typically takes a while.
>>>>> Yes.  Not really an option for us.  We are trying get our Geronimo  
>>>>> app out
>>>>> now.
>>>>>
>>>>>> Other than filling up your logs what problems is this causing?
>>>>> There appears to be no other errors or problems.  I've been  
>>>>> exercising the
>>>>> app, watching the console log in real time in the eclipse console,  
>>>>> then
>>>>> checking the db.  It appears to work fine.  It throws the  
>>>>> exceptions, then
>>>>> recovers.  It's always the same error: 'Callback methods cannot access
>>>>> parameters'.
>>>>>
>>>>>> Seeing the entire stack trace from your bean's @Destroy method to the
>>>>>> original exception might possibly shed more light on the subject.
>>>> Does the destroy method on your beans actually do anything?  If, like  
>>>> the samples, it does nothing, the simplest solution is to leave it  
>>>> out.  If if does do something, does it get called?  My belief from  
>>>> the stack trace is that it does not due to the  exception.
>>>>
>>>> As for wording... that's tricky.  I guess I'd say that running the  
>>>> app on the geronimo/openejb javaee5 certified container results in  
>>>> the stack trace and that allowing the InvocationContext to supply the  
>>>> parameters during a lifecycle call results in tck failures.  I'd ask  
>>>> if they can run the sample with the @Destroy method getting called on  
>>>> a certified container without getting an exception and perhaps  
>>>> mention that we aren't aware of any support in the spec itself for  
>>>> this requirement.
>>>>
>>>> I'd include this part of the stack trace:
>>>>
>>>> 11:25:05,179 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.getParam 
>>>> eters(ReflectionInvocationContext.java:71)
>>>> 	at
>>>> org.jboss.seam.intercept.EJBInvocationContext.getParameters 
>>>> (EJBInvocationContext.java:34)
>>>> 	at
>>>> org.jboss.seam.intercept.SeamInvocationContext.getParameters 
>>>> (SeamInvocationContext.java:49)
>>>> 	at
>>>> org.jboss.seam.core.MethodContextInterceptor.aroundInvoke 
>>>> (MethodContextInterceptor.java:33)
>>>> 	at
>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>> (SeamInvocationContext.java:68)
>>>> 	at
>>>> org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke 
>>>> (EntityManagerProxyInterceptor.java:26)
>>>> 	at
>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>> (SeamInvocationContext.java:68)
>>>> 	at
>>>> org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke 
>>>> (HibernateSessionProxyInterceptor.java:27)
>>>> 	at
>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>> (SeamInvocationContext.java:68)
>>>> 	at
>>>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
>>>> 107)
>>>> 	at
>>>> org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke 
>>>> (SessionBeanInterceptor.java:50)
>>>> 	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
>>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>>> 	at
>>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext 
>>>> $Invocation.invoke(ReflectionInvocationContext.java:146)
>>>> 	at
>>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed( 
>>>> ReflectionInvocationContext.java:129)
>>>> 	at
>>>> org.apache.openejb.core.interceptor.InterceptorStack.invoke 
>>>> (InterceptorStack.java:67)
>>>> 	at
>>>> org.apache.openejb.core.stateful.StatefulContainer._invoke 
>>>> (StatefulContainer.java:428)
>>>> 	at
>>>> org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject 
>>>> (StatefulContainer.java:332)
>>>> 	at
>>>> org.apache.openejb.core.stateful.StatefulContainer.invoke 
>>>> (StatefulContainer.java:244)
>>>> 	at
>>>> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod 
>>>> (EjbObjectProxyHandler.java:217)
>>>> 	at
>>>> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke 
>>>> (EjbObjectProxyHandler.java:77)
>>>> 	at
>>>> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke 
>>>> (BaseEjbProxyHandler.java:321)
>>>> 	at
>>>> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke 
>>>> (Jdk13InvocationHandler.java:49)
>>>> 	at $Proxy76.destroy(Unknown Source)
>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>>> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
>>>> 	at
>>>> org.jboss.seam.intercept.RootInvocationContext.proceed 
>>>> (RootInvocationContext.java:31)
>>>> 	at
>>>> org.jboss.seam.intercept.ClientSideInterceptor$1.proceed 
>>>> (ClientSideInterceptor.java:76)
>>>> 	at
>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>> (SeamInvocationContext.java:56)
>>>> 	at
>>>> org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke 
>>>> (RemoveInterceptor.java:41)
>>>> 	at
>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>> (SeamInvocationContext.java:68)
>>>> 	at
>>>> org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke 
>>>> (SynchronizationInterceptor.java:32)
>>>> 	at
>>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>>> (SeamInvocationContext.java:68)
>>>> 	at
>>>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
>>>> 107)
>>>> 	at
>>>> org.jboss.seam.intercept.ClientSideInterceptor.invoke 
>>>> (ClientSideInterceptor.java:54)
>>>> 	at
>>>> org.javassist.tmp.java.lang.Object_$$_javassist_4.destroy(Object_$ 
>>>> $_javassist_4.java)
>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>>> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
>>>> 	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
>>>> 	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
>>>> 	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
>>>> 	at org.jboss.seam.Component.destroy(Component.java:1331)
>>>> 	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
>>>> 	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
>>>> 	at
>>>> org.jboss.seam.contexts.ServletLifecycle.endSession 
>>>> (ServletLifecycle.java:129)
>>>> 	at
>>>> org.jboss.seam.servlet.SeamListener.sessionDestroyed 
>>>> (SeamListener.java:49)
>>>> 	at
>>>> org.mortbay.jetty.servlet.AbstractSessionManager.removeSession 
>>>> (AbstractSessionManager.java:665)
>>>> 	at
>>>> org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate 
>>>> (AbstractSessionManager.java:938)
>>>> 	at
>>>> org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate 
>>>> (HashSessionManager.java:493)
>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>>> 	at
>>>> org.jboss.seam.contexts.FacesLifecycle.invalidateSession 
>>>> (FacesLifecycle.java:141)
>>>> 	at
>>>> org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java: 
>>>> 118)
>>>> 	at
>>>> org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse 
>>>> (SeamPhaseListener.java:515)
>>>> 	at
>>>> org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase 
>>>> (SeamPhaseListener.java:247)
>>>> 	at
>>>> org.jboss.seam.jsf.SeamPhaseListener.afterPhase 
>>>> (SeamPhaseListener.java:194)
>>>> 	at
>>>> org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAf 
>>>> ter(PhaseListenerManager.java:92)
>>>> 	at
>>>> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 
>>>> 142)
>>>> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
>>>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 
>>>> 487)
>>>> 	at
>>>> org.apache.geronimo.jetty6.InternalJettyServletHolder.handle 
>>>> (InternalJettyServletHolder.java:65)
>>>> 	at
>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
>>>> (ServletHandler.java:1093)
>>>> 	at
>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>> (SeamFilter.java:83)
>>>> 	at
>>>> org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
>>>> 	at
>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>> (SeamFilter.java:69)
>>>> 	at
>>>> org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
>>>> 	at
>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>> (SeamFilter.java:69)
>>>> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
>>>> 	at
>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>> (SeamFilter.java:69)
>>>> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java: 
>>>> 141)
>>>> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
>>>> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
>>>> 	at
>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>> (SeamFilter.java:69)
>>>> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
>>>> 	at
>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>> (SeamFilter.java:69)
>>>> 	at
>>>> org.jboss.seam.debug.hot.HotDeployFilter.doFilter 
>>>> (HotDeployFilter.java:68)
>>>> 	at
>>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>>> (SeamFilter.java:69)
>>>> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
>>>> 	at
>>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
>>>> (ServletHandler.java:1084)
>>>> 	at org.mortbay.jetty.servlet.ServletHandler.handle 
>>>> (ServletHandler.java:360)
>>>> 	at
>>>> org.mortbay.jetty.security.SecurityHandler.handle 
>>>> (SecurityHandler.java:216)
>>>> 	at org.mortbay.jetty.servlet.SessionHandler.handle 
>>>> (SessionHandler.java:181)
>>>> 	at org.mortbay.jetty.handler.ContextHandler.handle 
>>>> (ContextHandler.java:726)
>>>> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 
>>>> 405)
>>>> 	at
>>>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101 
>>>> (TwistyWebAppContext.java:40)
>>>> 	at
>>>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
>>>> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>>>> 	at
>>>> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
>>>> (ThreadClassloaderHandler.java:46)
>>>> 	at
>>>> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
>>>> (InstanceContextHandler.java:58)
>>>> 	at
>>>> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
>>>> (UserTransactionHandler.java:48)
>>>> 	at
>>>> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
>>>> (ComponentContextHandler.java:47)
>>>> 	at
>>>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
>>>> (TwistyWebAppContext.java:59)
>>>> 	at
>>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle 
>>>> (ContextHandlerCollection.java:206)
>>>> 	at
>>>> org.mortbay.jetty.handler.HandlerCollection.handle 
>>>> (HandlerCollection.java:114)
>>>> 	at org.mortbay.jetty.handler.HandlerWrapper.handle 
>>>> (HandlerWrapper.java:139)
>>>> 	at org.mortbay.jetty.Server.handle(Server.java:324)
>>>> 	at org.mortbay.jetty.HttpConnection.handleRequest 
>>>> (HttpConnection.java:505)
>>>> 	at
>>>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete 
>>>> (HttpConnection.java:828)
>>>> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>>>> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>>> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>>>> 	at
>>>> org.mortbay.io.nio.SelectChannelEndPoint.run 
>>>> (SelectChannelEndPoint.java:395)
>>>> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>>>> 	at
>>>> org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run 
>>>> (ThreadPool.java:344)
>>>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown  
>>>> Source)
>>>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>>>> 	at java.lang.Thread.run(Unknown Source)
>>>>
>>>>
>>>> <snip>
>>>>
>>>> Hope this helps
>>>> thanks
>>>> david jencks
>>>>
>>>>
>>>>
>>> 
>> 
>> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi Jay, (and David^2)

Thanks for checking that.  I didn't have time to experiment with it on
Friday.  Darn. Ok, well.

I just now checked my Seam users group posting on this.  It looks like Gavin
King replied.

Please check it out, and don't hesitate to respond as well.
http://www.seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
Geronimo and Seam and TCK 

Gavin mentioned to fill out a bug report.  Any suggestions?

Thanks everyone.  This is really excellent.  I wonder if we could get some
kinda patch for Seam on Geronimo?
.Burt





Jay D. McHugh-3 wrote:
> 
> Hey Burt,
> 
> I just tried removing the @Destroy annotations in the booking example 
> but the errors still pop up.
> 
> Jay
> 
> Burt Prior wrote:
>> Hi David,
>> 
>> I just posted on SeamFramework.org:
>> 
>> http://www.seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
>> Seam Posting 
>> 
>> I'm hoping to get some way to resolve this issue soon.
>> 
>> Perhaps its as you mentioned:  Can't I just safely remove @Destroy?
>> 
>> Thanks,
>> .Burt
>> 
>> 
>> 
>> 
>> djencks wrote:
>>>
>>> On Mar 7, 2008, at 2:51 PM, Burt Prior wrote:
>>>
>>>> Hi David and David,
>>>>
>>>> First, thank you both for helping us.  Our team has been hanging on  
>>>> your
>>>> every post!
>>>>
>>>>> Do you have any evidence that seam runs with a bean with a @Destroy
>>>>> annotated method on any certified platform?
>>>> I sure don't, other than latest Seam doc/articles i've went thru here:
>>>> http://seamframework.org/Documentation/GettingStarted Getting  
>>>> Started with
>>>> Seam
>>>>
>>>> Also, this booking example is the 'jee5' booking example; there is  
>>>> a 'non
>>>> jee5' booking example as well in every Seam download.  I think the  
>>>> 'non
>>>> jee5' uses plain JavaBean and Hibernate instead of EJB3 and JPA.
>>>>
>>>> The only other JEE5 certified platform I know of that works with  
>>>> Seam is
>>>> GlassFish.  Not from personal exerience but from articles from Sun  
>>>> and Seam.
>>>> http://weblogs.java.net/blog/caroljmcdonald/archive/2007/07/ 
>>>> sample_applicat_1.html
>>>> GlassFish and Seam
>>>>
>>>> I was just wondering. Anyone running Seam on a JEE5 compliant  
>>>> server such
>>>> Geronimo or GlassFish must get the same error?
>>> Well, if they have an ejb with a @Destroy method we think they will  
>>> get this error.  The glassfish example for v2 does have one @Destroy  
>>> method in CatalogBean but my experience trying to extract information  
>>> from Glassfish has not been a happy one so I haven't tried anything  
>>> on it.
>>>
>>>>> Also, it doesn't make much sense.
>>>> Yes, i agree.  All the errors we solved to get to this point 'made  
>>>> sense'.
>>>> But when I saw this error, and read David's response, i thought we  
>>>> were in
>>>> trouble;  If I'm hitting up against the spec, and I can't change my  
>>>> code,
>>>> where does that leave my architecture?  (Geronimo, EJB3, Seam,  
>>>> Oracle, JPA,
>>>> JSF).
>>>>
>>>>> I would think the jboss/seam developers would be the ones to start  
>>>>> this
>>>>> although we  might challenge it also.
>>>> Yes, I will post on the appropriate Seam list today.  I guess the  
>>>> question
>>>> is to focus on @Destroy?  How would you phrase it?
>>>>
>>>> What also doesn't make sense is the Seam doc for @Destroy.  Why do  
>>>> we see
>>>> any issue at all?
>>>> http://docs.jboss.com/seam/2.1.0.A1/reference/en/html/ 
>>>> annotations.html#d0e19563
>>>> Seam @Destroy Annotation
>>>>
>>>>
>>>>> The challenge process typically takes a while.
>>>> Yes.  Not really an option for us.  We are trying get our Geronimo  
>>>> app out
>>>> now.
>>>>
>>>>> Other than filling up your logs what problems is this causing?
>>>> There appears to be no other errors or problems.  I've been  
>>>> exercising the
>>>> app, watching the console log in real time in the eclipse console,  
>>>> then
>>>> checking the db.  It appears to work fine.  It throws the  
>>>> exceptions, then
>>>> recovers.  It's always the same error: 'Callback methods cannot access
>>>> parameters'.
>>>>
>>>>> Seeing the entire stack trace from your bean's @Destroy method to the
>>>>> original exception might possibly shed more light on the subject.
>>> Does the destroy method on your beans actually do anything?  If, like  
>>> the samples, it does nothing, the simplest solution is to leave it  
>>> out.  If if does do something, does it get called?  My belief from  
>>> the stack trace is that it does not due to the  exception.
>>>
>>> As for wording... that's tricky.  I guess I'd say that running the  
>>> app on the geronimo/openejb javaee5 certified container results in  
>>> the stack trace and that allowing the InvocationContext to supply the  
>>> parameters during a lifecycle call results in tck failures.  I'd ask  
>>> if they can run the sample with the @Destroy method getting called on  
>>> a certified container without getting an exception and perhaps  
>>> mention that we aren't aware of any support in the spec itself for  
>>> this requirement.
>>>
>>> I'd include this part of the stack trace:
>>>
>>> 11:25:05,179 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.getParam 
>>> eters(ReflectionInvocationContext.java:71)
>>> 	at
>>> org.jboss.seam.intercept.EJBInvocationContext.getParameters 
>>> (EJBInvocationContext.java:34)
>>> 	at
>>> org.jboss.seam.intercept.SeamInvocationContext.getParameters 
>>> (SeamInvocationContext.java:49)
>>> 	at
>>> org.jboss.seam.core.MethodContextInterceptor.aroundInvoke 
>>> (MethodContextInterceptor.java:33)
>>> 	at
>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>> (SeamInvocationContext.java:68)
>>> 	at
>>> org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke 
>>> (EntityManagerProxyInterceptor.java:26)
>>> 	at
>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>> (SeamInvocationContext.java:68)
>>> 	at
>>> org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke 
>>> (HibernateSessionProxyInterceptor.java:27)
>>> 	at
>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>> (SeamInvocationContext.java:68)
>>> 	at
>>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
>>> 107)
>>> 	at
>>> org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke 
>>> (SessionBeanInterceptor.java:50)
>>> 	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>> 	at
>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext 
>>> $Invocation.invoke(ReflectionInvocationContext.java:146)
>>> 	at
>>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed( 
>>> ReflectionInvocationContext.java:129)
>>> 	at
>>> org.apache.openejb.core.interceptor.InterceptorStack.invoke 
>>> (InterceptorStack.java:67)
>>> 	at
>>> org.apache.openejb.core.stateful.StatefulContainer._invoke 
>>> (StatefulContainer.java:428)
>>> 	at
>>> org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject 
>>> (StatefulContainer.java:332)
>>> 	at
>>> org.apache.openejb.core.stateful.StatefulContainer.invoke 
>>> (StatefulContainer.java:244)
>>> 	at
>>> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod 
>>> (EjbObjectProxyHandler.java:217)
>>> 	at
>>> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke 
>>> (EjbObjectProxyHandler.java:77)
>>> 	at
>>> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke 
>>> (BaseEjbProxyHandler.java:321)
>>> 	at
>>> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke 
>>> (Jdk13InvocationHandler.java:49)
>>> 	at $Proxy76.destroy(Unknown Source)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
>>> 	at
>>> org.jboss.seam.intercept.RootInvocationContext.proceed 
>>> (RootInvocationContext.java:31)
>>> 	at
>>> org.jboss.seam.intercept.ClientSideInterceptor$1.proceed 
>>> (ClientSideInterceptor.java:76)
>>> 	at
>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>> (SeamInvocationContext.java:56)
>>> 	at
>>> org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke 
>>> (RemoveInterceptor.java:41)
>>> 	at
>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>> (SeamInvocationContext.java:68)
>>> 	at
>>> org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke 
>>> (SynchronizationInterceptor.java:32)
>>> 	at
>>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>>> (SeamInvocationContext.java:68)
>>> 	at
>>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
>>> 107)
>>> 	at
>>> org.jboss.seam.intercept.ClientSideInterceptor.invoke 
>>> (ClientSideInterceptor.java:54)
>>> 	at
>>> org.javassist.tmp.java.lang.Object_$$_javassist_4.destroy(Object_$ 
>>> $_javassist_4.java)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
>>> 	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
>>> 	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
>>> 	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
>>> 	at org.jboss.seam.Component.destroy(Component.java:1331)
>>> 	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
>>> 	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
>>> 	at
>>> org.jboss.seam.contexts.ServletLifecycle.endSession 
>>> (ServletLifecycle.java:129)
>>> 	at
>>> org.jboss.seam.servlet.SeamListener.sessionDestroyed 
>>> (SeamListener.java:49)
>>> 	at
>>> org.mortbay.jetty.servlet.AbstractSessionManager.removeSession 
>>> (AbstractSessionManager.java:665)
>>> 	at
>>> org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate 
>>> (AbstractSessionManager.java:938)
>>> 	at
>>> org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate 
>>> (HashSessionManager.java:493)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>>> 	at
>>> org.jboss.seam.contexts.FacesLifecycle.invalidateSession 
>>> (FacesLifecycle.java:141)
>>> 	at
>>> org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java: 
>>> 118)
>>> 	at
>>> org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse 
>>> (SeamPhaseListener.java:515)
>>> 	at
>>> org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase 
>>> (SeamPhaseListener.java:247)
>>> 	at
>>> org.jboss.seam.jsf.SeamPhaseListener.afterPhase 
>>> (SeamPhaseListener.java:194)
>>> 	at
>>> org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAf 
>>> ter(PhaseListenerManager.java:92)
>>> 	at
>>> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 
>>> 142)
>>> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
>>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 
>>> 487)
>>> 	at
>>> org.apache.geronimo.jetty6.InternalJettyServletHolder.handle 
>>> (InternalJettyServletHolder.java:65)
>>> 	at
>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
>>> (ServletHandler.java:1093)
>>> 	at
>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>> (SeamFilter.java:83)
>>> 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
>>> 	at
>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>> (SeamFilter.java:69)
>>> 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
>>> 	at
>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>> (SeamFilter.java:69)
>>> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
>>> 	at
>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>> (SeamFilter.java:69)
>>> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java: 
>>> 141)
>>> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
>>> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
>>> 	at
>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>> (SeamFilter.java:69)
>>> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
>>> 	at
>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>> (SeamFilter.java:69)
>>> 	at
>>> org.jboss.seam.debug.hot.HotDeployFilter.doFilter 
>>> (HotDeployFilter.java:68)
>>> 	at
>>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>>> (SeamFilter.java:69)
>>> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
>>> 	at
>>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
>>> (ServletHandler.java:1084)
>>> 	at org.mortbay.jetty.servlet.ServletHandler.handle 
>>> (ServletHandler.java:360)
>>> 	at
>>> org.mortbay.jetty.security.SecurityHandler.handle 
>>> (SecurityHandler.java:216)
>>> 	at org.mortbay.jetty.servlet.SessionHandler.handle 
>>> (SessionHandler.java:181)
>>> 	at org.mortbay.jetty.handler.ContextHandler.handle 
>>> (ContextHandler.java:726)
>>> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 
>>> 405)
>>> 	at
>>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101 
>>> (TwistyWebAppContext.java:40)
>>> 	at
>>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
>>> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>>> 	at
>>> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
>>> (ThreadClassloaderHandler.java:46)
>>> 	at
>>> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
>>> (InstanceContextHandler.java:58)
>>> 	at
>>> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
>>> (UserTransactionHandler.java:48)
>>> 	at
>>> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
>>> (ComponentContextHandler.java:47)
>>> 	at
>>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
>>> (TwistyWebAppContext.java:59)
>>> 	at
>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle 
>>> (ContextHandlerCollection.java:206)
>>> 	at
>>> org.mortbay.jetty.handler.HandlerCollection.handle 
>>> (HandlerCollection.java:114)
>>> 	at org.mortbay.jetty.handler.HandlerWrapper.handle 
>>> (HandlerWrapper.java:139)
>>> 	at org.mortbay.jetty.Server.handle(Server.java:324)
>>> 	at org.mortbay.jetty.HttpConnection.handleRequest 
>>> (HttpConnection.java:505)
>>> 	at
>>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete 
>>> (HttpConnection.java:828)
>>> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>>> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>>> 	at
>>> org.mortbay.io.nio.SelectChannelEndPoint.run 
>>> (SelectChannelEndPoint.java:395)
>>> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>>> 	at
>>> org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run 
>>> (ThreadPool.java:344)
>>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown  
>>> Source)
>>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>>> 	at java.lang.Thread.run(Unknown Source)
>>>
>>>
>>> <snip>
>>>
>>> Hope this helps
>>> thanks
>>> david jencks
>>>
>>>
>>>
>> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by "Jay D. McHugh" <ja...@gmail.com>.
Hey Burt,

I just tried removing the @Destroy annotations in the booking example 
but the errors still pop up.

Jay

Burt Prior wrote:
> Hi David,
> 
> I just posted on SeamFramework.org:
> 
> http://www.seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
> Seam Posting 
> 
> I'm hoping to get some way to resolve this issue soon.
> 
> Perhaps its as you mentioned:  Can't I just safely remove @Destroy?
> 
> Thanks,
> .Burt
> 
> 
> 
> 
> djencks wrote:
>>
>> On Mar 7, 2008, at 2:51 PM, Burt Prior wrote:
>>
>>> Hi David and David,
>>>
>>> First, thank you both for helping us.  Our team has been hanging on  
>>> your
>>> every post!
>>>
>>>> Do you have any evidence that seam runs with a bean with a @Destroy
>>>> annotated method on any certified platform?
>>> I sure don't, other than latest Seam doc/articles i've went thru here:
>>> http://seamframework.org/Documentation/GettingStarted Getting  
>>> Started with
>>> Seam
>>>
>>> Also, this booking example is the 'jee5' booking example; there is  
>>> a 'non
>>> jee5' booking example as well in every Seam download.  I think the  
>>> 'non
>>> jee5' uses plain JavaBean and Hibernate instead of EJB3 and JPA.
>>>
>>> The only other JEE5 certified platform I know of that works with  
>>> Seam is
>>> GlassFish.  Not from personal exerience but from articles from Sun  
>>> and Seam.
>>> http://weblogs.java.net/blog/caroljmcdonald/archive/2007/07/ 
>>> sample_applicat_1.html
>>> GlassFish and Seam
>>>
>>> I was just wondering. Anyone running Seam on a JEE5 compliant  
>>> server such
>>> Geronimo or GlassFish must get the same error?
>> Well, if they have an ejb with a @Destroy method we think they will  
>> get this error.  The glassfish example for v2 does have one @Destroy  
>> method in CatalogBean but my experience trying to extract information  
>> from Glassfish has not been a happy one so I haven't tried anything  
>> on it.
>>
>>>> Also, it doesn't make much sense.
>>> Yes, i agree.  All the errors we solved to get to this point 'made  
>>> sense'.
>>> But when I saw this error, and read David's response, i thought we  
>>> were in
>>> trouble;  If I'm hitting up against the spec, and I can't change my  
>>> code,
>>> where does that leave my architecture?  (Geronimo, EJB3, Seam,  
>>> Oracle, JPA,
>>> JSF).
>>>
>>>> I would think the jboss/seam developers would be the ones to start  
>>>> this
>>>> although we  might challenge it also.
>>> Yes, I will post on the appropriate Seam list today.  I guess the  
>>> question
>>> is to focus on @Destroy?  How would you phrase it?
>>>
>>> What also doesn't make sense is the Seam doc for @Destroy.  Why do  
>>> we see
>>> any issue at all?
>>> http://docs.jboss.com/seam/2.1.0.A1/reference/en/html/ 
>>> annotations.html#d0e19563
>>> Seam @Destroy Annotation
>>>
>>>
>>>> The challenge process typically takes a while.
>>> Yes.  Not really an option for us.  We are trying get our Geronimo  
>>> app out
>>> now.
>>>
>>>> Other than filling up your logs what problems is this causing?
>>> There appears to be no other errors or problems.  I've been  
>>> exercising the
>>> app, watching the console log in real time in the eclipse console,  
>>> then
>>> checking the db.  It appears to work fine.  It throws the  
>>> exceptions, then
>>> recovers.  It's always the same error: 'Callback methods cannot access
>>> parameters'.
>>>
>>>> Seeing the entire stack trace from your bean's @Destroy method to the
>>>> original exception might possibly shed more light on the subject.
>> Does the destroy method on your beans actually do anything?  If, like  
>> the samples, it does nothing, the simplest solution is to leave it  
>> out.  If if does do something, does it get called?  My belief from  
>> the stack trace is that it does not due to the  exception.
>>
>> As for wording... that's tricky.  I guess I'd say that running the  
>> app on the geronimo/openejb javaee5 certified container results in  
>> the stack trace and that allowing the InvocationContext to supply the  
>> parameters during a lifecycle call results in tck failures.  I'd ask  
>> if they can run the sample with the @Destroy method getting called on  
>> a certified container without getting an exception and perhaps  
>> mention that we aren't aware of any support in the spec itself for  
>> this requirement.
>>
>> I'd include this part of the stack trace:
>>
>> 11:25:05,179 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.getParam 
>> eters(ReflectionInvocationContext.java:71)
>> 	at
>> org.jboss.seam.intercept.EJBInvocationContext.getParameters 
>> (EJBInvocationContext.java:34)
>> 	at
>> org.jboss.seam.intercept.SeamInvocationContext.getParameters 
>> (SeamInvocationContext.java:49)
>> 	at
>> org.jboss.seam.core.MethodContextInterceptor.aroundInvoke 
>> (MethodContextInterceptor.java:33)
>> 	at
>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>> (SeamInvocationContext.java:68)
>> 	at
>> org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke 
>> (EntityManagerProxyInterceptor.java:26)
>> 	at
>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>> (SeamInvocationContext.java:68)
>> 	at
>> org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke 
>> (HibernateSessionProxyInterceptor.java:27)
>> 	at
>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>> (SeamInvocationContext.java:68)
>> 	at
>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
>> 107)
>> 	at
>> org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke 
>> (SessionBeanInterceptor.java:50)
>> 	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>> 	at
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext 
>> $Invocation.invoke(ReflectionInvocationContext.java:146)
>> 	at
>> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed( 
>> ReflectionInvocationContext.java:129)
>> 	at
>> org.apache.openejb.core.interceptor.InterceptorStack.invoke 
>> (InterceptorStack.java:67)
>> 	at
>> org.apache.openejb.core.stateful.StatefulContainer._invoke 
>> (StatefulContainer.java:428)
>> 	at
>> org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject 
>> (StatefulContainer.java:332)
>> 	at
>> org.apache.openejb.core.stateful.StatefulContainer.invoke 
>> (StatefulContainer.java:244)
>> 	at
>> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod 
>> (EjbObjectProxyHandler.java:217)
>> 	at
>> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke 
>> (EjbObjectProxyHandler.java:77)
>> 	at
>> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke 
>> (BaseEjbProxyHandler.java:321)
>> 	at
>> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke 
>> (Jdk13InvocationHandler.java:49)
>> 	at $Proxy76.destroy(Unknown Source)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
>> 	at
>> org.jboss.seam.intercept.RootInvocationContext.proceed 
>> (RootInvocationContext.java:31)
>> 	at
>> org.jboss.seam.intercept.ClientSideInterceptor$1.proceed 
>> (ClientSideInterceptor.java:76)
>> 	at
>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>> (SeamInvocationContext.java:56)
>> 	at
>> org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke 
>> (RemoveInterceptor.java:41)
>> 	at
>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>> (SeamInvocationContext.java:68)
>> 	at
>> org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke 
>> (SynchronizationInterceptor.java:32)
>> 	at
>> org.jboss.seam.intercept.SeamInvocationContext.proceed 
>> (SeamInvocationContext.java:68)
>> 	at
>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
>> 107)
>> 	at
>> org.jboss.seam.intercept.ClientSideInterceptor.invoke 
>> (ClientSideInterceptor.java:54)
>> 	at
>> org.javassist.tmp.java.lang.Object_$$_javassist_4.destroy(Object_$ 
>> $_javassist_4.java)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
>> 	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
>> 	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
>> 	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
>> 	at org.jboss.seam.Component.destroy(Component.java:1331)
>> 	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
>> 	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
>> 	at
>> org.jboss.seam.contexts.ServletLifecycle.endSession 
>> (ServletLifecycle.java:129)
>> 	at
>> org.jboss.seam.servlet.SeamListener.sessionDestroyed 
>> (SeamListener.java:49)
>> 	at
>> org.mortbay.jetty.servlet.AbstractSessionManager.removeSession 
>> (AbstractSessionManager.java:665)
>> 	at
>> org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate 
>> (AbstractSessionManager.java:938)
>> 	at
>> org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate 
>> (HashSessionManager.java:493)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>> 	at java.lang.reflect.Method.invoke(Unknown Source)
>> 	at
>> org.jboss.seam.contexts.FacesLifecycle.invalidateSession 
>> (FacesLifecycle.java:141)
>> 	at
>> org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java: 
>> 118)
>> 	at
>> org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse 
>> (SeamPhaseListener.java:515)
>> 	at
>> org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase 
>> (SeamPhaseListener.java:247)
>> 	at
>> org.jboss.seam.jsf.SeamPhaseListener.afterPhase 
>> (SeamPhaseListener.java:194)
>> 	at
>> org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAf 
>> ter(PhaseListenerManager.java:92)
>> 	at
>> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 
>> 142)
>> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 
>> 487)
>> 	at
>> org.apache.geronimo.jetty6.InternalJettyServletHolder.handle 
>> (InternalJettyServletHolder.java:65)
>> 	at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
>> (ServletHandler.java:1093)
>> 	at
>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>> (SeamFilter.java:83)
>> 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
>> 	at
>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>> (SeamFilter.java:69)
>> 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
>> 	at
>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>> (SeamFilter.java:69)
>> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
>> 	at
>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>> (SeamFilter.java:69)
>> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java: 
>> 141)
>> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
>> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
>> 	at
>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>> (SeamFilter.java:69)
>> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
>> 	at
>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>> (SeamFilter.java:69)
>> 	at
>> org.jboss.seam.debug.hot.HotDeployFilter.doFilter 
>> (HotDeployFilter.java:68)
>> 	at
>> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
>> (SeamFilter.java:69)
>> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
>> 	at
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
>> (ServletHandler.java:1084)
>> 	at org.mortbay.jetty.servlet.ServletHandler.handle 
>> (ServletHandler.java:360)
>> 	at
>> org.mortbay.jetty.security.SecurityHandler.handle 
>> (SecurityHandler.java:216)
>> 	at org.mortbay.jetty.servlet.SessionHandler.handle 
>> (SessionHandler.java:181)
>> 	at org.mortbay.jetty.handler.ContextHandler.handle 
>> (ContextHandler.java:726)
>> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 
>> 405)
>> 	at
>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101 
>> (TwistyWebAppContext.java:40)
>> 	at
>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
>> $TwistyHandler.handle(TwistyWebAppContext.java:65)
>> 	at
>> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
>> (ThreadClassloaderHandler.java:46)
>> 	at
>> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
>> (InstanceContextHandler.java:58)
>> 	at
>> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
>> (UserTransactionHandler.java:48)
>> 	at
>> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
>> (ComponentContextHandler.java:47)
>> 	at
>> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
>> (TwistyWebAppContext.java:59)
>> 	at
>> org.mortbay.jetty.handler.ContextHandlerCollection.handle 
>> (ContextHandlerCollection.java:206)
>> 	at
>> org.mortbay.jetty.handler.HandlerCollection.handle 
>> (HandlerCollection.java:114)
>> 	at org.mortbay.jetty.handler.HandlerWrapper.handle 
>> (HandlerWrapper.java:139)
>> 	at org.mortbay.jetty.Server.handle(Server.java:324)
>> 	at org.mortbay.jetty.HttpConnection.handleRequest 
>> (HttpConnection.java:505)
>> 	at
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete 
>> (HttpConnection.java:828)
>> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>> 	at
>> org.mortbay.io.nio.SelectChannelEndPoint.run 
>> (SelectChannelEndPoint.java:395)
>> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
>> 	at
>> org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run 
>> (ThreadPool.java:344)
>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown  
>> Source)
>> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>> 	at java.lang.Thread.run(Unknown Source)
>>
>>
>> <snip>
>>
>> Hope this helps
>> thanks
>> david jencks
>>
>>
>>
> 

Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

I just posted on SeamFramework.org:

http://www.seamframework.org/Community/Seam2JEE5CompliantWithTheTCKRequirements
Seam Posting 

I'm hoping to get some way to resolve this issue soon.

Perhaps its as you mentioned:  Can't I just safely remove @Destroy?

Thanks,
.Burt




djencks wrote:
> 
> 
> On Mar 7, 2008, at 2:51 PM, Burt Prior wrote:
> 
>>
>> Hi David and David,
>>
>> First, thank you both for helping us.  Our team has been hanging on  
>> your
>> every post!
>>
>>> Do you have any evidence that seam runs with a bean with a @Destroy
>>> annotated method on any certified platform?
>>
>> I sure don't, other than latest Seam doc/articles i've went thru here:
>> http://seamframework.org/Documentation/GettingStarted Getting  
>> Started with
>> Seam
>>
>> Also, this booking example is the 'jee5' booking example; there is  
>> a 'non
>> jee5' booking example as well in every Seam download.  I think the  
>> 'non
>> jee5' uses plain JavaBean and Hibernate instead of EJB3 and JPA.
>>
>> The only other JEE5 certified platform I know of that works with  
>> Seam is
>> GlassFish.  Not from personal exerience but from articles from Sun  
>> and Seam.
>> http://weblogs.java.net/blog/caroljmcdonald/archive/2007/07/ 
>> sample_applicat_1.html
>> GlassFish and Seam
>>
>> I was just wondering. Anyone running Seam on a JEE5 compliant  
>> server such
>> Geronimo or GlassFish must get the same error?
> 
> Well, if they have an ejb with a @Destroy method we think they will  
> get this error.  The glassfish example for v2 does have one @Destroy  
> method in CatalogBean but my experience trying to extract information  
> from Glassfish has not been a happy one so I haven't tried anything  
> on it.
> 
>>
>>> Also, it doesn't make much sense.
>>
>> Yes, i agree.  All the errors we solved to get to this point 'made  
>> sense'.
>> But when I saw this error, and read David's response, i thought we  
>> were in
>> trouble;  If I'm hitting up against the spec, and I can't change my  
>> code,
>> where does that leave my architecture?  (Geronimo, EJB3, Seam,  
>> Oracle, JPA,
>> JSF).
>>
>>> I would think the jboss/seam developers would be the ones to start  
>>> this
>>> although we  might challenge it also.
>>
>> Yes, I will post on the appropriate Seam list today.  I guess the  
>> question
>> is to focus on @Destroy?  How would you phrase it?
>>
>> What also doesn't make sense is the Seam doc for @Destroy.  Why do  
>> we see
>> any issue at all?
>> http://docs.jboss.com/seam/2.1.0.A1/reference/en/html/ 
>> annotations.html#d0e19563
>> Seam @Destroy Annotation
>>
>>
>>> The challenge process typically takes a while.
>>
>> Yes.  Not really an option for us.  We are trying get our Geronimo  
>> app out
>> now.
>>
>>> Other than filling up your logs what problems is this causing?
>>
>> There appears to be no other errors or problems.  I've been  
>> exercising the
>> app, watching the console log in real time in the eclipse console,  
>> then
>> checking the db.  It appears to work fine.  It throws the  
>> exceptions, then
>> recovers.  It's always the same error: 'Callback methods cannot access
>> parameters'.
>>
>>> Seeing the entire stack trace from your bean's @Destroy method to the
>>> original exception might possibly shed more light on the subject.
> 
> Does the destroy method on your beans actually do anything?  If, like  
> the samples, it does nothing, the simplest solution is to leave it  
> out.  If if does do something, does it get called?  My belief from  
> the stack trace is that it does not due to the  exception.
> 
> As for wording... that's tricky.  I guess I'd say that running the  
> app on the geronimo/openejb javaee5 certified container results in  
> the stack trace and that allowing the InvocationContext to supply the  
> parameters during a lifecycle call results in tck failures.  I'd ask  
> if they can run the sample with the @Destroy method getting called on  
> a certified container without getting an exception and perhaps  
> mention that we aren't aware of any support in the spec itself for  
> this requirement.
> 
> I'd include this part of the stack trace:
> 
> 11:25:05,179 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.getParam 
> eters(ReflectionInvocationContext.java:71)
> 	at
> org.jboss.seam.intercept.EJBInvocationContext.getParameters 
> (EJBInvocationContext.java:34)
> 	at
> org.jboss.seam.intercept.SeamInvocationContext.getParameters 
> (SeamInvocationContext.java:49)
> 	at
> org.jboss.seam.core.MethodContextInterceptor.aroundInvoke 
> (MethodContextInterceptor.java:33)
> 	at
> org.jboss.seam.intercept.SeamInvocationContext.proceed 
> (SeamInvocationContext.java:68)
> 	at
> org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke 
> (EntityManagerProxyInterceptor.java:26)
> 	at
> org.jboss.seam.intercept.SeamInvocationContext.proceed 
> (SeamInvocationContext.java:68)
> 	at
> org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke 
> (HibernateSessionProxyInterceptor.java:27)
> 	at
> org.jboss.seam.intercept.SeamInvocationContext.proceed 
> (SeamInvocationContext.java:68)
> 	at
> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
> 107)
> 	at
> org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke 
> (SessionBeanInterceptor.java:50)
> 	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext 
> $Invocation.invoke(ReflectionInvocationContext.java:146)
> 	at
> org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed( 
> ReflectionInvocationContext.java:129)
> 	at
> org.apache.openejb.core.interceptor.InterceptorStack.invoke 
> (InterceptorStack.java:67)
> 	at
> org.apache.openejb.core.stateful.StatefulContainer._invoke 
> (StatefulContainer.java:428)
> 	at
> org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject 
> (StatefulContainer.java:332)
> 	at
> org.apache.openejb.core.stateful.StatefulContainer.invoke 
> (StatefulContainer.java:244)
> 	at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod 
> (EjbObjectProxyHandler.java:217)
> 	at
> org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke 
> (EjbObjectProxyHandler.java:77)
> 	at
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke 
> (BaseEjbProxyHandler.java:321)
> 	at
> org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke 
> (Jdk13InvocationHandler.java:49)
> 	at $Proxy76.destroy(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
> 	at
> org.jboss.seam.intercept.RootInvocationContext.proceed 
> (RootInvocationContext.java:31)
> 	at
> org.jboss.seam.intercept.ClientSideInterceptor$1.proceed 
> (ClientSideInterceptor.java:76)
> 	at
> org.jboss.seam.intercept.SeamInvocationContext.proceed 
> (SeamInvocationContext.java:56)
> 	at
> org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke 
> (RemoveInterceptor.java:41)
> 	at
> org.jboss.seam.intercept.SeamInvocationContext.proceed 
> (SeamInvocationContext.java:68)
> 	at
> org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke 
> (SynchronizationInterceptor.java:32)
> 	at
> org.jboss.seam.intercept.SeamInvocationContext.proceed 
> (SeamInvocationContext.java:68)
> 	at
> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
> 107)
> 	at
> org.jboss.seam.intercept.ClientSideInterceptor.invoke 
> (ClientSideInterceptor.java:54)
> 	at
> org.javassist.tmp.java.lang.Object_$$_javassist_4.destroy(Object_$ 
> $_javassist_4.java)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
> 	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
> 	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
> 	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
> 	at org.jboss.seam.Component.destroy(Component.java:1331)
> 	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
> 	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
> 	at
> org.jboss.seam.contexts.ServletLifecycle.endSession 
> (ServletLifecycle.java:129)
> 	at
> org.jboss.seam.servlet.SeamListener.sessionDestroyed 
> (SeamListener.java:49)
> 	at
> org.mortbay.jetty.servlet.AbstractSessionManager.removeSession 
> (AbstractSessionManager.java:665)
> 	at
> org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate 
> (AbstractSessionManager.java:938)
> 	at
> org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate 
> (HashSessionManager.java:493)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at
> org.jboss.seam.contexts.FacesLifecycle.invalidateSession 
> (FacesLifecycle.java:141)
> 	at
> org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java: 
> 118)
> 	at
> org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse 
> (SeamPhaseListener.java:515)
> 	at
> org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase 
> (SeamPhaseListener.java:247)
> 	at
> org.jboss.seam.jsf.SeamPhaseListener.afterPhase 
> (SeamPhaseListener.java:194)
> 	at
> org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAf 
> ter(PhaseListenerManager.java:92)
> 	at
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 
> 142)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 
> 487)
> 	at
> org.apache.geronimo.jetty6.InternalJettyServletHolder.handle 
> (InternalJettyServletHolder.java:65)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1093)
> 	at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
> (SeamFilter.java:83)
> 	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
> 	at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
> (SeamFilter.java:69)
> 	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
> 	at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
> (SeamFilter.java:69)
> 	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
> 	at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
> (SeamFilter.java:69)
> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java: 
> 141)
> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
> 	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
> 	at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
> (SeamFilter.java:69)
> 	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
> 	at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
> (SeamFilter.java:69)
> 	at
> org.jboss.seam.debug.hot.HotDeployFilter.doFilter 
> (HotDeployFilter.java:68)
> 	at
> org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
> (SeamFilter.java:69)
> 	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
> 	at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
> (ServletHandler.java:1084)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle 
> (ServletHandler.java:360)
> 	at
> org.mortbay.jetty.security.SecurityHandler.handle 
> (SecurityHandler.java:216)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle 
> (SessionHandler.java:181)
> 	at org.mortbay.jetty.handler.ContextHandler.handle 
> (ContextHandler.java:726)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 
> 405)
> 	at
> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101 
> (TwistyWebAppContext.java:40)
> 	at
> org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
> $TwistyHandler.handle(TwistyWebAppContext.java:65)
> 	at
> org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
> (ThreadClassloaderHandler.java:46)
> 	at
> org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
> (InstanceContextHandler.java:58)
> 	at
> org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
> (UserTransactionHandler.java:48)
> 	at
> org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
> (ComponentContextHandler.java:47)
> 	at
> org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
> (TwistyWebAppContext.java:59)
> 	at
> org.mortbay.jetty.handler.ContextHandlerCollection.handle 
> (ContextHandlerCollection.java:206)
> 	at
> org.mortbay.jetty.handler.HandlerCollection.handle 
> (HandlerCollection.java:114)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle 
> (HandlerWrapper.java:139)
> 	at org.mortbay.jetty.Server.handle(Server.java:324)
> 	at org.mortbay.jetty.HttpConnection.handleRequest 
> (HttpConnection.java:505)
> 	at
> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete 
> (HttpConnection.java:828)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
> 	at
> org.mortbay.io.nio.SelectChannelEndPoint.run 
> (SelectChannelEndPoint.java:395)
> 	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
> 	at
> org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run 
> (ThreadPool.java:344)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown  
> Source)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> 	at java.lang.Thread.run(Unknown Source)
> 
> 
> <snip>
> 
> Hope this helps
> thanks
> david jencks
> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
On Mar 7, 2008, at 2:51 PM, Burt Prior wrote:

>
> Hi David and David,
>
> First, thank you both for helping us.  Our team has been hanging on  
> your
> every post!
>
>> Do you have any evidence that seam runs with a bean with a @Destroy
>> annotated method on any certified platform?
>
> I sure don't, other than latest Seam doc/articles i've went thru here:
> http://seamframework.org/Documentation/GettingStarted Getting  
> Started with
> Seam
>
> Also, this booking example is the 'jee5' booking example; there is  
> a 'non
> jee5' booking example as well in every Seam download.  I think the  
> 'non
> jee5' uses plain JavaBean and Hibernate instead of EJB3 and JPA.
>
> The only other JEE5 certified platform I know of that works with  
> Seam is
> GlassFish.  Not from personal exerience but from articles from Sun  
> and Seam.
> http://weblogs.java.net/blog/caroljmcdonald/archive/2007/07/ 
> sample_applicat_1.html
> GlassFish and Seam
>
> I was just wondering. Anyone running Seam on a JEE5 compliant  
> server such
> Geronimo or GlassFish must get the same error?

Well, if they have an ejb with a @Destroy method we think they will  
get this error.  The glassfish example for v2 does have one @Destroy  
method in CatalogBean but my experience trying to extract information  
from Glassfish has not been a happy one so I haven't tried anything  
on it.

>
>> Also, it doesn't make much sense.
>
> Yes, i agree.  All the errors we solved to get to this point 'made  
> sense'.
> But when I saw this error, and read David's response, i thought we  
> were in
> trouble;  If I'm hitting up against the spec, and I can't change my  
> code,
> where does that leave my architecture?  (Geronimo, EJB3, Seam,  
> Oracle, JPA,
> JSF).
>
>> I would think the jboss/seam developers would be the ones to start  
>> this
>> although we  might challenge it also.
>
> Yes, I will post on the appropriate Seam list today.  I guess the  
> question
> is to focus on @Destroy?  How would you phrase it?
>
> What also doesn't make sense is the Seam doc for @Destroy.  Why do  
> we see
> any issue at all?
> http://docs.jboss.com/seam/2.1.0.A1/reference/en/html/ 
> annotations.html#d0e19563
> Seam @Destroy Annotation
>
>
>> The challenge process typically takes a while.
>
> Yes.  Not really an option for us.  We are trying get our Geronimo  
> app out
> now.
>
>> Other than filling up your logs what problems is this causing?
>
> There appears to be no other errors or problems.  I've been  
> exercising the
> app, watching the console log in real time in the eclipse console,  
> then
> checking the db.  It appears to work fine.  It throws the  
> exceptions, then
> recovers.  It's always the same error: 'Callback methods cannot access
> parameters'.
>
>> Seeing the entire stack trace from your bean's @Destroy method to the
>> original exception might possibly shed more light on the subject.

Does the destroy method on your beans actually do anything?  If, like  
the samples, it does nothing, the simplest solution is to leave it  
out.  If if does do something, does it get called?  My belief from  
the stack trace is that it does not due to the  exception.

As for wording... that's tricky.  I guess I'd say that running the  
app on the geronimo/openejb javaee5 certified container results in  
the stack trace and that allowing the InvocationContext to supply the  
parameters during a lifecycle call results in tck failures.  I'd ask  
if they can run the sample with the @Destroy method getting called on  
a certified container without getting an exception and perhaps  
mention that we aren't aware of any support in the spec itself for  
this requirement.

I'd include this part of the stack trace:

11:25:05,179 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.getParam 
eters(ReflectionInvocationContext.java:71)
	at
org.jboss.seam.intercept.EJBInvocationContext.getParameters 
(EJBInvocationContext.java:34)
	at
org.jboss.seam.intercept.SeamInvocationContext.getParameters 
(SeamInvocationContext.java:49)
	at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke 
(MethodContextInterceptor.java:33)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed 
(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke 
(EntityManagerProxyInterceptor.java:26)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed 
(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke 
(HibernateSessionProxyInterceptor.java:27)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed 
(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
107)
	at
org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke 
(SessionBeanInterceptor.java:50)
	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext 
$Invocation.invoke(ReflectionInvocationContext.java:146)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed( 
ReflectionInvocationContext.java:129)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke 
(InterceptorStack.java:67)
	at
org.apache.openejb.core.stateful.StatefulContainer._invoke 
(StatefulContainer.java:428)
	at
org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject 
(StatefulContainer.java:332)
	at
org.apache.openejb.core.stateful.StatefulContainer.invoke 
(StatefulContainer.java:244)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod 
(EjbObjectProxyHandler.java:217)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke 
(EjbObjectProxyHandler.java:77)
	at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke 
(BaseEjbProxyHandler.java:321)
	at
org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke 
(Jdk13InvocationHandler.java:49)
	at $Proxy76.destroy(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at
org.jboss.seam.intercept.RootInvocationContext.proceed 
(RootInvocationContext.java:31)
	at
org.jboss.seam.intercept.ClientSideInterceptor$1.proceed 
(ClientSideInterceptor.java:76)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed 
(SeamInvocationContext.java:56)
	at
org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke 
(RemoveInterceptor.java:41)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed 
(SeamInvocationContext.java:68)
	at
org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke 
(SynchronizationInterceptor.java:32)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed 
(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java: 
107)
	at
org.jboss.seam.intercept.ClientSideInterceptor.invoke 
(ClientSideInterceptor.java:54)
	at
org.javassist.tmp.java.lang.Object_$$_javassist_4.destroy(Object_$ 
$_javassist_4.java)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
	at org.jboss.seam.Component.destroy(Component.java:1331)
	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
	at
org.jboss.seam.contexts.ServletLifecycle.endSession 
(ServletLifecycle.java:129)
	at
org.jboss.seam.servlet.SeamListener.sessionDestroyed 
(SeamListener.java:49)
	at
org.mortbay.jetty.servlet.AbstractSessionManager.removeSession 
(AbstractSessionManager.java:665)
	at
org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate 
(AbstractSessionManager.java:938)
	at
org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate 
(HashSessionManager.java:493)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.jboss.seam.contexts.FacesLifecycle.invalidateSession 
(FacesLifecycle.java:141)
	at
org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java: 
118)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse 
(SeamPhaseListener.java:515)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase 
(SeamPhaseListener.java:247)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterPhase 
(SeamPhaseListener.java:194)
	at
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAf 
ter(PhaseListenerManager.java:92)
	at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: 
142)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 
487)
	at
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle 
(InternalJettyServletHolder.java:65)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
(ServletHandler.java:1093)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
(SeamFilter.java:83)
	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
(SeamFilter.java:69)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
(SeamFilter.java:69)
	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
(SeamFilter.java:69)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java: 
141)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
(SeamFilter.java:69)
	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
(SeamFilter.java:69)
	at
org.jboss.seam.debug.hot.HotDeployFilter.doFilter 
(HotDeployFilter.java:68)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter 
(SeamFilter.java:69)
	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter 
(ServletHandler.java:1084)
	at org.mortbay.jetty.servlet.ServletHandler.handle 
(ServletHandler.java:360)
	at
org.mortbay.jetty.security.SecurityHandler.handle 
(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle 
(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle 
(ContextHandler.java:726)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 
405)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101 
(TwistyWebAppContext.java:40)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext 
$TwistyHandler.handle(TwistyWebAppContext.java:65)
	at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle 
(ThreadClassloaderHandler.java:46)
	at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle 
(InstanceContextHandler.java:58)
	at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle 
(UserTransactionHandler.java:48)
	at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle 
(ComponentContextHandler.java:47)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle 
(TwistyWebAppContext.java:59)
	at
org.mortbay.jetty.handler.ContextHandlerCollection.handle 
(ContextHandlerCollection.java:206)
	at
org.mortbay.jetty.handler.HandlerCollection.handle 
(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle 
(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest 
(HttpConnection.java:505)
	at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete 
(HttpConnection.java:828)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at
org.mortbay.io.nio.SelectChannelEndPoint.run 
(SelectChannelEndPoint.java:395)
	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
	at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run 
(ThreadPool.java:344)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown  
Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)


<snip>

Hope this helps
thanks
david jencks


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David and David,

First, thank you both for helping us.  Our team has been hanging on your
every post!

> Do you have any evidence that seam runs with a bean with a @Destroy
> annotated method on any certified platform?

I sure don't, other than latest Seam doc/articles i've went thru here:
http://seamframework.org/Documentation/GettingStarted Getting Started with
Seam 

Also, this booking example is the 'jee5' booking example; there is a 'non
jee5' booking example as well in every Seam download.  I think the 'non
jee5' uses plain JavaBean and Hibernate instead of EJB3 and JPA.

The only other JEE5 certified platform I know of that works with Seam is
GlassFish.  Not from personal exerience but from articles from Sun and Seam.
http://weblogs.java.net/blog/caroljmcdonald/archive/2007/07/sample_applicat_1.html
GlassFish and Seam 

I was just wondering. Anyone running Seam on a JEE5 compliant server such
Geronimo or GlassFish must get the same error?

> Also, it doesn't make much sense.

Yes, i agree.  All the errors we solved to get to this point 'made sense'. 
But when I saw this error, and read David's response, i thought we were in
trouble;  If I'm hitting up against the spec, and I can't change my code,
where does that leave my architecture?  (Geronimo, EJB3, Seam, Oracle, JPA,
JSF).

> I would think the jboss/seam developers would be the ones to start this
> although we  might challenge it also.

Yes, I will post on the appropriate Seam list today.  I guess the question
is to focus on @Destroy?  How would you phrase it?

What also doesn't make sense is the Seam doc for @Destroy.  Why do we see
any issue at all?
http://docs.jboss.com/seam/2.1.0.A1/reference/en/html/annotations.html#d0e19563
Seam @Destroy Annotation 


> The challenge process typically takes a while.

Yes.  Not really an option for us.  We are trying get our Geronimo app out
now.

> Other than filling up your logs what problems is this causing?

There appears to be no other errors or problems.  I've been exercising the
app, watching the console log in real time in the eclipse console, then
checking the db.  It appears to work fine.  It throws the exceptions, then
recovers.  It's always the same error: 'Callback methods cannot access
parameters'.

> Seeing the entire stack trace from your bean's @Destroy method to the
> original exception might possibly shed more light on the subject.

You bet.  I have the log output setting to its highest log level, so i'm
seeing everything load successfully.  The stack trace follows.  See below.

Also, the app is already deployed in the repository,  so i get a perfectly
clean geronimo startup and booking app load as well.  You can see the EJB
container load all the (7) 'booking' apps beans perfect with no errors. 
When I 'log in' to the booking app, I get no errors. Only when I perform
some 'bean logic' do I get the errors, and even then it appears to carry out
its business logic.

One more note on the following listing:  

You will see 'bookingList', and 'hotelSearch'.  these are the Seam @Name's
for the Stateful Session Beans that contain the @Destroy annotation.  As I
mentioned, each bean's code is rather simple.

...
perfect Geronimo and Booking application startup... No errors.
...
start exercising the booking app until first error, then recover...
...

11:24:05,791 INFO  [OpenEJB] invoking method create on
jboss-seam.jar/EjbSynchronizations
11:24:05,807 INFO  [OpenEJB] finished invoking method create
11:24:06,010 INFO  [OpenEJB] invoking method create on
jboss-seam-jee5.jar/AuthenticatorAction
11:24:06,010 INFO  [OpenEJB] finished invoking method create
11:24:06,056 INFO  [OpenEJB] The following method doesn't have a transaction
policy assigned: public abstract boolean
org.jboss.seam.example.booking.Authenticator.authenticate()
Hibernate: select user0_.username as username2_, user0_.name as name2_,
user0_.password as password2_ from Customer user0_ where user0_.username=?
and user0_.password=?
11:24:28,118 INFO  [OpenEJB] invoking method create on
jboss-seam.jar/EjbSynchronizations
11:24:28,118 INFO  [OpenEJB] finished invoking method create
11:24:28,259 INFO  [OpenEJB] invoking method create on
jboss-seam-jee5.jar/AuthenticatorAction
11:24:28,259 INFO  [OpenEJB] finished invoking method create
Hibernate: select user0_.username as username2_, user0_.name as name2_,
user0_.password as password2_ from Customer user0_ where user0_.username=?
and user0_.password=?
11:24:28,337 INFO  [OpenEJB] invoking method create on
jboss-seam.jar/EjbSynchronizations
11:24:28,337 INFO  [OpenEJB] finished invoking method create
11:24:28,993 INFO  [OpenEJB] invoking method create on
jboss-seam-jee5.jar/HotelSearchingAction
11:24:29,009 INFO  [OpenEJB] finished invoking method create
11:24:29,009 INFO  [OpenEJB] The following method doesn't have a transaction
policy assigned: public abstract java.lang.String
org.jboss.seam.example.booking.HotelSearching.getSearchString()
11:24:29,024 INFO  [OpenEJB] The following method doesn't have a transaction
policy assigned: public abstract int
org.jboss.seam.example.booking.HotelSearching.getPageSize()
11:24:29,040 INFO  [OpenEJB] The following method doesn't have a transaction
policy assigned: public abstract boolean
org.jboss.seam.example.booking.HotelSearching.isNextPageAvailable()
11:24:29,040 INFO  [OpenEJB] invoking method create on
jboss-seam-jee5.jar/BookingListAction
11:24:29,040 INFO  [OpenEJB] finished invoking method create
11:24:29,040 INFO  [Transaction] TX RequiresNew: Suspended transaction
org.apache.geronimo.transaction.manager.TransactionImpl@8f7906
11:24:29,040 INFO  [Transaction] TX RequiresNew: Started transaction
org.apache.geronimo.transaction.manager.TransactionImpl@133d8b
Hibernate: select booking0_.id as id0_, booking0_.beds as beds0_,
booking0_.checkinDate as checkinD3_0_, booking0_.checkoutDate as
checkout4_0_, booking0_.creditCard as creditCard0_,
booking0_.creditCardExpiryMonth as creditCa6_0_,
booking0_.creditCardExpiryYear as creditCa7_0_, booking0_.creditCardName as
creditCa8_0_, booking0_.hotel_id as hotel11_0_, booking0_.smoking as
smoking0_, booking0_.user_username as user10_0_ from Booking booking0_ where
booking0_.user_username=? order by booking0_.checkinDate
11:24:29,087 INFO  [Transaction] TX RequiresNew: Committing transaction
org.apache.geronimo.transaction.manager.TransactionImpl@133d8b
11:24:29,087 INFO  [Transaction] TX RequiresNew: Resuming transaction
org.apache.geronimo.transaction.manager.TransactionImpl@8f7906
11:24:33,805 INFO  [OpenEJB] invoking method create on
jboss-seam.jar/EjbSynchronizations
11:24:33,805 INFO  [OpenEJB] finished invoking method create
11:24:33,930 INFO  [OpenEJB] The following method doesn't have a transaction
policy assigned: public abstract void
org.jboss.seam.example.booking.HotelSearching.setSearchString(java.lang.String)
11:24:33,930 INFO  [OpenEJB] The following method doesn't have a transaction
policy assigned: public abstract void
org.jboss.seam.example.booking.HotelSearching.setPageSize(int)
11:24:34,040 INFO  [OpenEJB] The following method doesn't have a transaction
policy assigned: public abstract void
org.jboss.seam.example.booking.HotelSearching.find()
Hibernate: select * from ( select hotel0_.id as id1_, hotel0_.address as
address1_, hotel0_.city as city1_, hotel0_.country as country1_,
hotel0_.name as name1_, hotel0_.price as price1_, hotel0_.state as state1_,
hotel0_.zip as zip1_ from Hotel hotel0_ where lower(hotel0_.name) like ? or
lower(hotel0_.city) like ? or lower(hotel0_.zip) like ? or
lower(hotel0_.address) like ? ) where rownum <= ?
11:24:43,258 INFO  [OpenEJB] invoking method create on
jboss-seam.jar/EjbSynchronizations
11:24:43,258 INFO  [OpenEJB] finished invoking method create
Hibernate: select * from ( select hotel0_.id as id1_, hotel0_.address as
address1_, hotel0_.city as city1_, hotel0_.country as country1_,
hotel0_.name as name1_, hotel0_.price as price1_, hotel0_.state as state1_,
hotel0_.zip as zip1_ from Hotel hotel0_ where lower(hotel0_.name) like ? or
lower(hotel0_.city) like ? or lower(hotel0_.zip) like ? or
lower(hotel0_.address) like ? ) where rownum <= ?
11:24:47,711 INFO  [OpenEJB] invoking method create on
jboss-seam.jar/EjbSynchronizations
11:24:47,711 INFO  [OpenEJB] finished invoking method create
Hibernate: select * from ( select hotel0_.id as id1_, hotel0_.address as
address1_, hotel0_.city as city1_, hotel0_.country as country1_,
hotel0_.name as name1_, hotel0_.price as price1_, hotel0_.state as state1_,
hotel0_.zip as zip1_ from Hotel hotel0_ where lower(hotel0_.name) like ? or
lower(hotel0_.city) like ? or lower(hotel0_.zip) like ? or
lower(hotel0_.address) like ? ) where rownum <= ?
11:25:05,023 INFO  [OpenEJB] invoking method create on
jboss-seam.jar/EjbSynchronizations
11:25:05,023 INFO  [OpenEJB] finished invoking method create
11:25:05,148 INFO  [Transaction] TX RequiresNew: Suspended transaction null
11:25:05,148 INFO  [Transaction] TX RequiresNew: Started transaction
org.apache.geronimo.transaction.manager.TransactionImpl@84038
11:25:05,179 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)
	at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:33)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
	at
org.apache.openejb.core.stateful.StatefulContainer._invoke(StatefulContainer.java:428)
	at
org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject(StatefulContainer.java:332)
	at
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:244)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
	at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:321)
	at
org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
	at $Proxy76.destroy(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
	at
org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
	at
org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
	at
org.javassist.tmp.java.lang.Object_$$_javassist_4.destroy(Object_$$_javassist_4.java)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
	at org.jboss.seam.Component.destroy(Component.java:1331)
	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
	at
org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:129)
	at
org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:49)
	at
org.mortbay.jetty.servlet.AbstractSessionManager.removeSession(AbstractSessionManager.java:665)
	at
org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate(AbstractSessionManager.java:938)
	at
org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate(HashSessionManager.java:493)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.jboss.seam.contexts.FacesLifecycle.invalidateSession(FacesLifecycle.java:141)
	at
org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:118)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:515)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:247)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
	at
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:92)
	at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:142)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at
org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
	at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
	at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
	at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
	at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
	at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
	at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
	at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
	at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
11:25:05,179 INFO  [Transaction] TX RequiresNew: setRollbackOnly() on
transaction org.apache.geronimo.transaction.manager.TransactionImpl@84038
11:25:05,179 INFO  [Transaction] TX RequiresNew: Rolling back transaction
org.apache.geronimo.transaction.manager.TransactionImpl@84038
11:25:05,179 INFO  [Transaction] TX RequiresNew: No transaction to resume
11:25:05,194 INFO  [OpenEJB] Activation failed: file not found
C:\DOCUME~1\bprior\LOCALS~1\Temp\51df64433d24c9fb=-58e5aeb7=1188aadff79=-7f84
11:25:05,194 WARN  [Component] Exception calling component @Destroy method:
bookingList
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 $Proxy76.destroy(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
	at
org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
	at
org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
	at
org.javassist.tmp.java.lang.Object_$$_javassist_4.destroy(Object_$$_javassist_4.java)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
	at org.jboss.seam.Component.destroy(Component.java:1331)
	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
	at
org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:129)
	at
org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:49)
	at
org.mortbay.jetty.servlet.AbstractSessionManager.removeSession(AbstractSessionManager.java:665)
	at
org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate(AbstractSessionManager.java:938)
	at
org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate(HashSessionManager.java:493)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.jboss.seam.contexts.FacesLifecycle.invalidateSession(FacesLifecycle.java:141)
	at
org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:118)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:515)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:247)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
	at
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:92)
	at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:142)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at
org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
	at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
	at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
	at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
	at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
	at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
	at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
	at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
	at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: 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)
	at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:33)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
	at
org.apache.openejb.core.stateful.StatefulContainer._invoke(StatefulContainer.java:428)
	at
org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject(StatefulContainer.java:332)
	at
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:244)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
	at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:321)
	... 92 more
11:25:05,210 INFO  [OpenEJB] The following method doesn't have a transaction
policy assigned: public abstract void
org.jboss.seam.example.booking.HotelSearching.destroy()
11:25:05,210 INFO  [Transaction] TX Required: Started transaction
org.apache.geronimo.transaction.manager.TransactionImpl@16e4a57
11:25:05,210 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)
	at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:33)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
	at
org.apache.openejb.core.stateful.StatefulContainer._invoke(StatefulContainer.java:428)
	at
org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject(StatefulContainer.java:332)
	at
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:244)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
	at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:321)
	at
org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
	at $Proxy75.destroy(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
	at
org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
	at
org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
	at
org.javassist.tmp.java.lang.Object_$$_javassist_3.destroy(Object_$$_javassist_3.java)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
	at org.jboss.seam.Component.destroy(Component.java:1331)
	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
	at
org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:129)
	at
org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:49)
	at
org.mortbay.jetty.servlet.AbstractSessionManager.removeSession(AbstractSessionManager.java:665)
	at
org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate(AbstractSessionManager.java:938)
	at
org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate(HashSessionManager.java:493)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.jboss.seam.contexts.FacesLifecycle.invalidateSession(FacesLifecycle.java:141)
	at
org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:118)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:515)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:247)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
	at
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:92)
	at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:142)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at
org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
	at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
	at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
	at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
	at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
	at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
	at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
	at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
	at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
11:25:05,210 INFO  [Transaction] TX Required: setRollbackOnly() on
transaction org.apache.geronimo.transaction.manager.TransactionImpl@16e4a57
11:25:05,210 INFO  [Transaction] TX Required: Rolling back transaction
org.apache.geronimo.transaction.manager.TransactionImpl@16e4a57
11:25:05,226 INFO  [OpenEJB] Activation failed: file not found
C:\DOCUME~1\bprior\LOCALS~1\Temp\51df64433d24c9fb=-58e5aeb7=1188aadff79=-7f85
11:25:05,226 WARN  [Component] Exception calling component @Destroy method:
hotelSearch
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 $Proxy75.destroy(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
	at
org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
	at
org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:32)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
	at
org.javassist.tmp.java.lang.Object_$$_javassist_3.destroy(Object_$$_javassist_3.java)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
	at org.jboss.seam.Component.callComponentMethod(Component.java:2084)
	at org.jboss.seam.Component.callDestroyMethod(Component.java:2015)
	at org.jboss.seam.Component.destroy(Component.java:1331)
	at org.jboss.seam.contexts.Contexts.destroy(Contexts.java:251)
	at org.jboss.seam.contexts.Lifecycle.endSession(Lifecycle.java:249)
	at
org.jboss.seam.contexts.ServletLifecycle.endSession(ServletLifecycle.java:129)
	at
org.jboss.seam.servlet.SeamListener.sessionDestroyed(SeamListener.java:49)
	at
org.mortbay.jetty.servlet.AbstractSessionManager.removeSession(AbstractSessionManager.java:665)
	at
org.mortbay.jetty.servlet.AbstractSessionManager$Session.invalidate(AbstractSessionManager.java:938)
	at
org.mortbay.jetty.servlet.HashSessionManager$Session.invalidate(HashSessionManager.java:493)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.jboss.seam.contexts.FacesLifecycle.invalidateSession(FacesLifecycle.java:141)
	at
org.jboss.seam.contexts.FacesLifecycle.endRequest(FacesLifecycle.java:118)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterRenderResponse(SeamPhaseListener.java:515)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:247)
	at
org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
	at
org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:92)
	at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:142)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at
org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
	at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
	at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
	at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
	at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
	at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
	at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
	at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
	at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: 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)
	at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:33)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
	at sun.reflect.GeneratedMethodAccessor144.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
	at
org.apache.openejb.core.stateful.StatefulContainer._invoke(StatefulContainer.java:428)
	at
org.apache.openejb.core.stateful.StatefulContainer.removeEJBObject(StatefulContainer.java:332)
	at
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:244)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
	at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:321)
	... 92 more
11:25:05,241 INFO  [Contexts] starting up: org.jboss.seam.security.identity
11:25:05,241 INFO  [Contexts] starting up: org.jboss.seam.web.session
11:25:05,257 INFO  [OpenEJB] invoking method create on
jboss-seam.jar/EjbSynchronizations
11:25:05,257 INFO  [OpenEJB] finished invoking method create


If possible, could you please keep us in the loop on this issue?  We would
be happy to help in any way we can.

Thanks again,
.Burt
 



djencks wrote:
> 
> I talked with david blevins about this a little more.  From the  
> evidence available so far we think that seam is not jee5 compliant  
> with the tck requirements.  If openejb did not throw this exception  
> in these circumstances it would fail the tck.  Recall that seam is  
> developed on a non-jee5-certified platform.  Under these  
> circumstances we'd have a hard time changing openejb to not throw the  
> exception. Do you have any evidence that seam runs with a bean with a  
> @Destroy annotated method on any certified platform?
> 
> On the other hand the requirement appears to be only in tck code and  
> not stated in the spec.  Also, it doesn't make much sense.  Thus it  
> might be worth pursuing a challenge to the tck.  I would think the  
> jboss/seam developers would be the ones to start this although we  
> might challenge it also.  The challenge process typically takes a while.
> 
> Seeing the entire stack trace from your bean's @Destroy method to the  
> original exception might possibly shed more light on the subject.
> 
> Other than filling up your logs what problems is this causing?  If it  
> does not cause functional problems perhaps pursuing a challenge would  
> be the best solution.
> 
> thanks
> david jencks
> 
> On Mar 7, 2008, at 10:06 AM, Burt Prior wrote:
> 
>>
>> Hi David,
>>
>> Thanks for the reply.  Our team really needs some help in solving  
>> this last
>> issue with Geronimo and Seam.  There must be some way to resolve this.
>>
>> As I exercise Seam's booking app, I monitor the Geronimo log very  
>> closely.
>> As I mentioned, the app works fine.  You can see the entities and ejb3
>> (stateful) session beans are found (jndi) and loaded correctly.   
>> The only
>> error we see is the one mentioned in my last post.
>>
>> The error is thrown, and the app continues on.
>>
>> Data is saved correctly in the DB, and the business logic in the  
>> session
>> beans are executed in the container fine.
>>
>> After closer inspection of the log, the error appears every time  
>> any session
>> bean is invoked, for example, 'BookingListAction' -> 'bookingList',
>> 'HotelSearchingAction' -> 'hostSearch'.   I've went over the source  
>> code for
>> these beans; they are simple and easy to understand, and I don't see
>> anything that would cause this error.
>>
>> What every session bean shares is the following method and annotation:
>>
>> ...
>> @Destroy @Remove
>> public void destroy() {}
>> ...
>>
>> I think this is related to the error, but I'm not sure.  I'm  
>> looking for
>> something to change in any bean code, but I don't see a thing.
>>
>> The Seam 'booking' example is important to our team to work with no  
>> errors
>> because this is exactly how we are building our current production  
>> app;
>> (Geronimo 2.1, Seam 2.1, JSF (facelets), EJB3 Session Beans, JPA  
>> Entities).
>>
>> And everything works, except for this error!
>>
>> It appears to us that any 'Seam app' running on Geronimo 2.1 would
>> experience this issue.
>>
>> Could we ask for you and your team's help to work with us in  
>> resolving this,
>> and how we can move forward?
>>
>> Thanks very much for your time and help,
>> .Burt
>>
>>
>>
>>
>> David Blevins wrote:
>>>
>>>
>>> On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:
>>>
>>>> ...
>>>> 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
>>>> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
>>>> 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?
>>>
>>> This it seems like some code is trying to call
>>> InvocationContext.getParameters() from inside a lifecycle method.
>>>
>>> I can't find a reference to this in the spec, but the TCK definitely
>>> says this must throw an IllegalStateException.
>>>
>>> -David
>>>
>>>> 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:@englearn-app1@cisco.com:
>>>>>> 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 <bp...@cisco.com>
>>>>>>> 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.
>>>>
>>>>
>>>
>>>
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/Geronimo-2.1- 
>> and-Seam-tp15621154s134p15902126.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-tp15621154s134p15908225.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
I talked with david blevins about this a little more.  From the  
evidence available so far we think that seam is not jee5 compliant  
with the tck requirements.  If openejb did not throw this exception  
in these circumstances it would fail the tck.  Recall that seam is  
developed on a non-jee5-certified platform.  Under these  
circumstances we'd have a hard time changing openejb to not throw the  
exception. Do you have any evidence that seam runs with a bean with a  
@Destroy annotated method on any certified platform?

On the other hand the requirement appears to be only in tck code and  
not stated in the spec.  Also, it doesn't make much sense.  Thus it  
might be worth pursuing a challenge to the tck.  I would think the  
jboss/seam developers would be the ones to start this although we  
might challenge it also.  The challenge process typically takes a while.

Seeing the entire stack trace from your bean's @Destroy method to the  
original exception might possibly shed more light on the subject.

Other than filling up your logs what problems is this causing?  If it  
does not cause functional problems perhaps pursuing a challenge would  
be the best solution.

thanks
david jencks

On Mar 7, 2008, at 10:06 AM, Burt Prior wrote:

>
> Hi David,
>
> Thanks for the reply.  Our team really needs some help in solving  
> this last
> issue with Geronimo and Seam.  There must be some way to resolve this.
>
> As I exercise Seam's booking app, I monitor the Geronimo log very  
> closely.
> As I mentioned, the app works fine.  You can see the entities and ejb3
> (stateful) session beans are found (jndi) and loaded correctly.   
> The only
> error we see is the one mentioned in my last post.
>
> The error is thrown, and the app continues on.
>
> Data is saved correctly in the DB, and the business logic in the  
> session
> beans are executed in the container fine.
>
> After closer inspection of the log, the error appears every time  
> any session
> bean is invoked, for example, 'BookingListAction' -> 'bookingList',
> 'HotelSearchingAction' -> 'hostSearch'.   I've went over the source  
> code for
> these beans; they are simple and easy to understand, and I don't see
> anything that would cause this error.
>
> What every session bean shares is the following method and annotation:
>
> ...
> @Destroy @Remove
> public void destroy() {}
> ...
>
> I think this is related to the error, but I'm not sure.  I'm  
> looking for
> something to change in any bean code, but I don't see a thing.
>
> The Seam 'booking' example is important to our team to work with no  
> errors
> because this is exactly how we are building our current production  
> app;
> (Geronimo 2.1, Seam 2.1, JSF (facelets), EJB3 Session Beans, JPA  
> Entities).
>
> And everything works, except for this error!
>
> It appears to us that any 'Seam app' running on Geronimo 2.1 would
> experience this issue.
>
> Could we ask for you and your team's help to work with us in  
> resolving this,
> and how we can move forward?
>
> Thanks very much for your time and help,
> .Burt
>
>
>
>
> David Blevins wrote:
>>
>>
>> On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:
>>
>>> ...
>>> 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
>>> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
>>> 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?
>>
>> This it seems like some code is trying to call
>> InvocationContext.getParameters() from inside a lifecycle method.
>>
>> I can't find a reference to this in the spec, but the TCK definitely
>> says this must throw an IllegalStateException.
>>
>> -David
>>
>>> 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:@englearn-app1@cisco.com:
>>>>> 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 <bp...@cisco.com>
>>>>>> 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.
>>>
>>>
>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Geronimo-2.1- 
> and-Seam-tp15621154s134p15902126.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

Thanks for the reply.  Our team really needs some help in solving this last
issue with Geronimo and Seam.  There must be some way to resolve this.

As I exercise Seam's booking app, I monitor the Geronimo log very closely. 
As I mentioned, the app works fine.  You can see the entities and ejb3
(stateful) session beans are found (jndi) and loaded correctly.  The only
error we see is the one mentioned in my last post.

The error is thrown, and the app continues on.

Data is saved correctly in the DB, and the business logic in the session
beans are executed in the container fine.

After closer inspection of the log, the error appears every time any session
bean is invoked, for example, 'BookingListAction' -> 'bookingList',
'HotelSearchingAction' -> 'hostSearch'.   I've went over the source code for
these beans; they are simple and easy to understand, and I don't see
anything that would cause this error.

What every session bean shares is the following method and annotation:

...
@Destroy @Remove
public void destroy() {}
...

I think this is related to the error, but I'm not sure.  I'm looking for
something to change in any bean code, but I don't see a thing.

The Seam 'booking' example is important to our team to work with no errors
because this is exactly how we are building our current production app;
(Geronimo 2.1, Seam 2.1, JSF (facelets), EJB3 Session Beans, JPA Entities).  

And everything works, except for this error!

It appears to us that any 'Seam app' running on Geronimo 2.1 would
experience this issue. 

Could we ask for you and your team's help to work with us in resolving this,
and how we can move forward?

Thanks very much for your time and help,
.Burt




David Blevins wrote:
> 
> 
> On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:
> 
>> ...
>> 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
>> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
>> 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?
> 
> This it seems like some code is trying to call  
> InvocationContext.getParameters() from inside a lifecycle method.
> 
> I can't find a reference to this in the spec, but the TCK definitely  
> says this must throw an IllegalStateException.
> 
> -David
> 
>> 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:@englearn-app1@cisco.com:
>>>> 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 <bp...@cisco.com>  
>>>>> 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.
>>
>>
> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by David Blevins <da...@visi.com>.
On Mar 6, 2008, at 1:30 PM, Burt Prior wrote:

> ...
> 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
> org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
> 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?

This it seems like some code is trying to call  
InvocationContext.getParameters() from inside a lifecycle method.

I can't find a reference to this in the spec, but the TCK definitely  
says this must throw an IllegalStateException.

-David

> 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:@englearn-app1@cisco.com:
>>> 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 <bp...@cisco.com>  
>>>> 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.
>
>


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
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
org.apache.geronimo.transaction.manager.TransactionImpl@13a6ecc
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:@englearn-app1@cisco.com: 
>> 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 <bp...@cisco.com> 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.


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

I made all the changes you listed below:  Success!

I now have: Geronimo 2.1 / Oracle 10g / Hibernate / Seam 2.1.0.A1 with the
Jboss 'booking' example working!  I can't tell you how excited my team is to
get to this milestone.

In 'exercising' the 'booking' example, i do see one error (it seems to
always be the same error as well), and I don't think it's because of the
booking app or seam.

In running the booking application, geronimo starts fine and correctly
deploys the app. As I try various aspects of the app, i'm tailing the log as
well. the application goes thru its business logic fine, including saving
data to the database.  

But when I execute some business logic (save, navigate, whatever) I
consistently get the following error:


Hibernate: select booking0_.id as id0_, booking0_.beds as beds0_,
booking0_.checkinDate as checkinD3_0_, booking0_.checkoutDate as
checkout4_0_, booking0_.creditCard as creditCard0_,
booking0_.creditCardExpiryMonth as creditCa6_0_,
booking0_.creditCardExpiryYear as creditCa7_0_, booking0_.creditCardName as
creditCa8_0_, booking0_.hotel_id as hotel10_0_, booking0_.smoking as
smoking0_, booking0_.user_username as user11_0_ from Booking booking0_ where
booking0_.user_username=? order by booking0_.checkinDate
10:33:13,399 INFO  [Transaction] TX RequiresNew: Committing transaction
org.apache.geronimo.transaction.manager.TransactionImpl@1d2a7ed
10:33:13,399 INFO  [Transaction] TX RequiresNew: Resuming transaction
org.apache.geronimo.transaction.manager.TransactionImpl@12f6f8e
10:33:13,399 INFO  [OpenEJB] The following method doesn't have a transaction
policy assigned: public abstract void
org.jboss.seam.example.booking.HotelBooking.destroy()
10:33:13,399 INFO  [Transaction] TX Required: Started transaction
org.apache.geronimo.transaction.manager.TransactionImpl@1b0454f
10:33:13,414 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)
	at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:33)
...

and

...
10:33:13,414 INFO  [OpenEJB] Activation failed: file not found
C:\DOCUME~1\bprior\LOCALS~1\Temp\51df64433d24c9fb=29fc4b93=118855a6199=-7f9b
10:33:13,430 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)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...

Again, the booking app appears to be working correctly; saving data to db,
performing business logic, etc, and the error is consistent; I always get
the same error; essentially:

"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)"


Could I ask for your help in resolving this issue?  It appears to me that
the EJB3 container is looking for something that it cannot find, but I'm not
sure.

Just to note again for your excellent help and advice.
.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:@englearn-app1@cisco.com: 
>> 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 <bp...@cisco.com> 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-tp15621154s134p15881295.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
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:@englearn-app1@cisco.com: 
> 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 <bp...@cisco.com> 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.
>


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi Jacek and David,

Here is the stack trace of when I try to 'register' myself in the booking
application:

javax.faces.FacesException: Error calling action method of component with id
register:register
	at
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:69)
	at javax.faces.component.UICommand.broadcast(UICommand.java:121)
	at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:184)
	at
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:162)
	at
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:350)
	at
org.apache.myfaces.lifecycle.InvokeApplicationExecutor.execute(InvokeApplicationExecutor.java:32)
	at
org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
	at
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at
org.apache.geronimo.jetty6.InternalJettyServletHolder.handle(InternalJettyServletHolder.java:65)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
	at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
	at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at
org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
	at
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
	at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
	at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.access$101(TwistyWebAppContext.java:40)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext$TwistyHandler.handle(TwistyWebAppContext.java:65)
	at
org.apache.geronimo.jetty6.handler.ThreadClassloaderHandler.handle(ThreadClassloaderHandler.java:46)
	at
org.apache.geronimo.jetty6.handler.InstanceContextHandler.handle(InstanceContextHandler.java:58)
	at
org.apache.geronimo.jetty6.handler.UserTransactionHandler.handle(UserTransactionHandler.java:48)
	at
org.apache.geronimo.jetty6.handler.ComponentContextHandler.handle(ComponentContextHandler.java:47)
	at
org.apache.geronimo.jetty6.handler.TwistyWebAppContext.handle(TwistyWebAppContext.java:59)
	at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
	at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:214)
	at
org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:344)
	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: javax.faces.el.EvaluationException: javax.el.ELException:
/register.xhtml @90,87 action="#{register.register}":
javax.ejb.EJBTransactionRolledbackException: The transaction has been marked
rollback only because the bean encountered a non-application exception
:javax.persistence.PersistenceException :
org.hibernate.exception.GenericJDBCException: Cannot open connection
	at
javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:79)
	at
org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:54)
	... 55 more
Caused by: javax.el.ELException: /register.xhtml @90,87
action="#{register.register}": javax.ejb.EJBTransactionRolledbackException:
The transaction has been marked rollback only because the bean encountered a
non-application exception :javax.persistence.PersistenceException :
org.hibernate.exception.GenericJDBCException: Cannot open connection
	at
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:74)
	at
javax.faces.component._MethodExpressionToMethodBinding.invoke(_MethodExpressionToMethodBinding.java:75)
	... 56 more
Caused by: javax.ejb.EJBTransactionRolledbackException: The transaction has
been marked rollback only because the bean encountered a non-application
exception :javax.persistence.PersistenceException :
org.hibernate.exception.GenericJDBCException: Cannot open connection
	at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.convertException(BaseEjbProxyHandler.java:348)
	at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:323)
	at
org.apache.openejb.util.proxy.Jdk13InvocationHandler.invoke(Jdk13InvocationHandler.java:49)
	at $Proxy113.register(Unknown Source)
	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.jboss.seam.util.Reflections.invoke(Reflections.java:21)
	at
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
	at
org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
	at
org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:41)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54)
	at
org.javassist.tmp.java.lang.Object_$$_javassist_2.register(Object_$$_javassist_2.java)
	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.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329)
	at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:342)
	at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
	at org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
	at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
	at
com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
	... 57 more
Caused by: javax.persistence.PersistenceException:
org.hibernate.exception.GenericJDBCException: Cannot open connection
	at
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:630)
	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:75)
	at
org.jboss.seam.example.booking.RegisterAction.register(RegisterAction.java:45)
	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.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
	at
org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
	at
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:46)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
	at
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
	at
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
	at
org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
	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.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:146)
	at
org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:129)
	at
org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:67)
	at
org.apache.openejb.core.stateful.StatefulContainer._invoke(StatefulContainer.java:428)
	at
org.apache.openejb.core.stateful.StatefulContainer.businessMethod(StatefulContainer.java:390)
	at
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:247)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:217)
	at
org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:77)
	at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:321)
	... 82 more
Caused by: org.hibernate.exception.GenericJDBCException: Cannot open
connection
	at
org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
	at
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
	at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
	at
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
	at
org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:426)
	at
org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
	at
org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
	at org.hibernate.loader.Loader.doQuery(Loader.java:673)
	at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
	at org.hibernate.loader.Loader.doList(Loader.java:2220)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
	at org.hibernate.loader.Loader.list(Loader.java:2099)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378)
	at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
	at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
	at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
	at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:66)
	... 116 more
Caused by: java.sql.SQLException: Invalid Oracle URL specified:
OracleDataSource.makeURL
	at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
	at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
	at oracle.jdbc.pool.OracleDataSource.makeURL(OracleDataSource.java:1353)
	at
oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:195)
	at
org.tranql.connector.jdbc.AbstractLocalDataSourceMCF.getPhysicalConnection(AbstractLocalDataSourceMCF.java:70)
	at
org.tranql.connector.jdbc.AbstractLocalDataSourceMCF.createManagedConnection(AbstractLocalDataSourceMCF.java:64)
	at
org.apache.geronimo.connector.outbound.MCFConnectionInterceptor.getConnection(MCFConnectionInterceptor.java:48)
	at
org.apache.geronimo.connector.outbound.LocalXAResourceInsertionInterceptor.getConnection(LocalXAResourceInsertionInterceptor.java:41)
	at
org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor.internalGetConnection(SinglePoolConnectionInterceptor.java:70)
	at
org.apache.geronimo.connector.outbound.AbstractSinglePoolConnectionInterceptor.getConnection(AbstractSinglePoolConnectionInterceptor.java:80)
	at
org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getConnection(TransactionEnlistingInterceptor.java:46)
	at
org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConnection(TransactionCachingInterceptor.java:86)
	at
org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnection(ConnectionHandleInterceptor.java:43)
	at
org.apache.geronimo.connector.outbound.TCCLInterceptor.getConnection(TCCLInterceptor.java:39)
	at
org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.getConnection(ConnectionTrackingInterceptor.java:66)
	at
org.apache.geronimo.connector.outbound.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:87)
	at org.tranql.connector.jdbc.DataSource.getConnection(DataSource.java:56)
	at
org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:47)
	at
org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
	... 130 more

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.GeronimoTransactionManagerLookup"
/>
             
         <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:@englearn-app1@cisco.com: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.GeronimoTransactionManagerLookup"/>
        
              
         <!-- 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 <bp...@cisco.com> 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.


Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Mon, Mar 3, 2008 at 10:16 AM, Burt Prior <bp...@cisco.com> 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

Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Thu, Feb 28, 2008 at 10:04 AM, David Jencks <da...@yahoo.com> wrote:

> cd <geronimo-home>
> mkdir -p
> repository/org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT
> wget
> http://people.apache.org/repo/m2-snapshot-repository/org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/geronimo-persistence-jpa10-2.2-20080228.021634-2.jar
> mv geronimo-persistence-jpa10-2.2-20080228.021634-2.jar
> repository/org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/geronimo-persistence-jpa10-2.2-SNAPSHOT.jar
>
> then edit var/config/artifact_aliases.properties
>
> add lines
>
> org.apache.geronimo.modules/geronimo-persistence-jpa10//jar=org.apache..geronimo.modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/jar
> org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/jar
>
> I have a lot of trouble writing directions that can be followed, so don't be
> shy about complaining :-)

Hi Dave,

You beat me to it. I was just answering it.

> hmmm.... we need console and gshell actions to upgrade an artifact from a
> known handy repo such as the apache snapshot repo...

Can't wait till I present it at an upcoming conference in Poland.
Really great stuff (if you get it working ;-))

Jacek

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

Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

Followed your instructions as below;  thanks again for great instructions.

Again progress! that appears to have solved that particular issue, but there
is still an error when i deploy.

I've looked thru the following error log, and I'm not sure what the problem
is.  It clearly has something to do with the 'bookingDatabase' persistence
unit, which is using the 'ElvisPool' data source (Oracle).

Also, at the end of the log, there are 2 org.apache.openejb.OpenEJBException
errors that I don't understand, but may be relevant.

Myself and my team really appreciate your help on this.  Here is my log:

... good geronimo start...

14:00:21,740 INFO  [OpenEJB] Auto-deploying ejb AuthenticatorAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/AuthenticatorAction)
14:00:21,740 INFO  [OpenEJB] Auto-deploying ejb BookingListAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/BookingListAction)
14:00:21,740 INFO  [OpenEJB] Auto-deploying ejb ChangePasswordAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/ChangePasswordAction)
14:00:21,740 INFO  [OpenEJB] Auto-deploying ejb HotelBookingAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelBookingAction)
14:00:21,740 INFO  [OpenEJB] Auto-deploying ejb HotelSearchingAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelSearchingAction)
14:00:21,740 INFO  [OpenEJB] Auto-deploying ejb RegisterAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/RegisterAction)
14:00:21,740 INFO  [OpenEJB] Auto-deploying ejb TimerServiceDispatcher:
EjbDeployment(deployment-id=jboss-seam.jar/TimerServiceDispatcher)
14:00:21,740 INFO  [OpenEJB] Auto-deploying ejb EjbSynchronizations:
EjbDeployment(deployment-id=jboss-seam.jar/EjbSynchronizations)
14:00:21,771 INFO  [config] Loaded Module:
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear
14:00:26,974 INFO  [KernelContextGBean] bound gbean
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,JCAConnectionFactory=ElvisPool,JCAResource=seam-jee5-dbpool,ResourceAdapter=seam-jee5-dbpool,ResourceAdapterModule=seam-jee5-dbpool,j2eeType=JCAManagedConnectionFactory,name=ElvisPool
at name
org.jboss.seam.examples.jee5/jboss-seam-jee5/JCAManagedConnectionFactory/ElvisPool
14:00:27,568 INFO  [Version] Hibernate Annotations 3.3.0.GA
14:00:27,615 INFO  [Environment] Hibernate 3.2.4.sp1
14:00:27,693 INFO  [Environment] hibernate.properties not found
14:00:27,693 INFO  [Environment] Bytecode provider name : cglib
14:00:27,709 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling
14:00:27,990 INFO  [Version] Hibernate EntityManager 3.3.1.GA
14:00:28,084 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [
	name: bookingDatabase
	...]
14:00:28,084 ERROR [Ejb3Configuration] Container is providing a null
PersistenceUnitRootUrl: discovery impossible
14:00:28,115 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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"
java.lang.NullPointerException
	at org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)
	at
org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles(Ejb3Configuration.java:606)
	at
org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:351)
	at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
	at
org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:119)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:948)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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)
14:00:28,131 INFO  [startup] Assembling app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55340.jar
14:00:31,506 WARN  [Enhance] Detected the following possible violations of
the restrictions placed on property access persistent types:
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"hotel" is accessed directly in method "getDescription" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"checkoutDate" is accessed directly in method "getNights" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"hotel" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"user" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"hotel" is accessed directly in method "getDescription" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"checkinDate" is accessed directly in method "getNights" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"hotel" is accessed directly in method "getTotal" defined in
"org.jboss.seam.example.booking.Booking".
14:00:31,584 WARN  [Enhance] Detected the following possible violations of
the restrictions placed on property access persistent types:
"org.jboss.seam.example.booking.Hotel" uses property access, but its field
"address" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Hotel".
"org.jboss.seam.example.booking.Hotel" uses property access, but its field
"zip" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Hotel".
"org.jboss.seam.example.booking.Hotel" uses property access, but its field
"city" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Hotel".
"org.jboss.seam.example.booking.Hotel" uses property access, but its field
"name" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Hotel".
14:00:31,615 INFO  [startup] Undeploying app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55340.jar
14:00:31,615 ERROR [EjbModuleImpl] Module does not exist.
org.apache.openejb.NoSuchApplicationException:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55340.jar
	at
org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:595)
	at
org.apache.geronimo.openejb.OpenEjbSystemGBean.removeEjbJar(OpenEjbSystemGBean.java:397)
	at org.apache.geronimo.openejb.EjbModuleImpl.stop(EjbModuleImpl.java:128)
	at
org.apache.geronimo.openejb.EjbModuleImplGBean.doFail(EjbModuleImplGBean.java:47)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:1028)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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)
14:00:31,615 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="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"
org.apache.openejb.OpenEJBException: createApplication.failed
[C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55340.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'
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:588)
	at
org.apache.openejb.assembler.classic.Assembler.createEjbJar(Assembler.java:371)
	at
org.apache.geronimo.openejb.OpenEjbSystemGBean.createEjbJar(OpenEjbSystemGBean.java:390)
	at org.apache.geronimo.openejb.EjbModuleImpl.start(EjbModuleImpl.java:123)
	at
org.apache.geronimo.openejb.EjbModuleImplGBean.doStart(EjbModuleImplGBean.java:39)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:998)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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.openejb.OpenEJBException: 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'
	at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:64)
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:491)
	... 63 more
Caused by: org.apache.openejb.OpenEJBException: PersistenceUnit
'bookingDatabase 91456273' not found for EXTENDED ref
'org.jboss.seam.example.booking.HotelBookingAction/em'
	at
org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:197)
	at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:52)
	... 64 more
14:00:31,631 INFO  [startup] Assembling app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55341.jar
14:00:31,678 INFO  [startup] Jndi(name=TimerServiceDispatcherLocal) -->
Ejb(deployment-id=jboss-seam.jar/TimerServiceDispatcher)
14:00:31,678 INFO  [startup] Jndi(name=EjbSynchronizationsLocal) -->
Ejb(deployment-id=jboss-seam.jar/EjbSynchronizations)
14:00:31,693 INFO  [startup] Created
Ejb(deployment-id=jboss-seam.jar/TimerServiceDispatcher,
ejb-name=TimerServiceDispatcher, container=Default Stateless Container)
14:00:31,693 INFO  [startup] Created
Ejb(deployment-id=jboss-seam.jar/EjbSynchronizations,
ejb-name=EjbSynchronizations, container=Default Stateful Container)
14:00:31,693 INFO  [startup] Deployed
Application(path=C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55341.jar)
14:00:31,709 INFO  [startup] Assembling app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55340.jar
14:00:31,709 INFO  [startup] Undeploying app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55340.jar
14:00:31,709 ERROR [EjbModuleImpl] Module does not exist.
org.apache.openejb.NoSuchApplicationException:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55340.jar
	at
org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:595)
	at
org.apache.geronimo.openejb.OpenEjbSystemGBean.removeEjbJar(OpenEjbSystemGBean.java:397)
	at org.apache.geronimo.openejb.EjbModuleImpl.stop(EjbModuleImpl.java:128)
	at
org.apache.geronimo.openejb.EjbModuleImplGBean.doFail(EjbModuleImplGBean.java:47)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:1028)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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)
14:00:31,709 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="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"
org.apache.openejb.OpenEJBException: createApplication.failed
[C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil55340.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'
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:588)
	at
org.apache.openejb.assembler.classic.Assembler.createEjbJar(Assembler.java:371)
	at
org.apache.geronimo.openejb.OpenEjbSystemGBean.createEjbJar(OpenEjbSystemGBean.java:390)
	at org.apache.geronimo.openejb.EjbModuleImpl.start(EjbModuleImpl.java:123)
	at
org.apache.geronimo.openejb.EjbModuleImplGBean.doStart(EjbModuleImplGBean.java:39)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:998)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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.openejb.OpenEJBException: 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'
	at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:64)
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:491)
	... 54 more
Caused by: org.apache.openejb.OpenEJBException: PersistenceUnit
'bookingDatabase 91456273' not found for EXTENDED ref
'org.jboss.seam.example.booking.HotelBookingAction/em'
	at
org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:197)
	at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:52)
	... 55 more


Thanks again,
.Burt








djencks wrote:
> 
> 
> On Feb 28, 2008, at 10:58 AM, Burt Prior wrote:
> 
>>
>> Hi David,
>>
>> Ok, I successfully completed all the steps you listed.  Excellent
>> instructions, thank you.
>>
>> I started geronimo with no issues, then issued my usual deploy  
>> command.  I
>> got a bunch of errors, but they are different now.  I think we are  
>> actually
>> making progress.
> 
> yes :-)
> 
> I think you need to add the concurrent jar as a dependency...
> 
> First get it in your g. repo
> 
> mkdir -p repository/concurrent/concurrent/1.3.4
> wget http://repo1.maven.org/maven2/concurrent/concurrent/1.3.4/ 
> concurrent-1.3.4.jar
> mv concurrent-1.3.4.jar repository/concurrent/concurrent/1.3.4/
> 
> and add it as a dependency in your g. plan for the example (jboss- 
> seam-jee5-geronimo-plan.xml)
> 
>    <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.0.0.GA</version>
>        <type>ear</type>
>      </moduleId>
>      <dependencies>
>        <dependency>
>          <groupId>org.apache.geronimo.hibernate.transaction</groupId>
>          <artifactId>geronimo-hibernate-transaction-manager-lookup</ 
> artifactId>
>          <type>jar</type>
>        </dependency>
>        <dependency>
>          <groupId>concurrent</groupId>
>          <artifactId>concurrent</artifactId>
>          <type>jar</type>
>        </dependency>
>      </dependencies>
>    </environment>
> 
> 
> Hmmm.... maybe we should set this example up as a plugin so maven +  
> geronimo will install this dependency for you.
> 
> Hope this helps
> david jencks
> 
>> Here are the snippets from my log:
>>
>> good geronimo start:
>>
>> 10:38:15,352 INFO  [Log4jService]
>> ----------------------------------------------
>> 10:38:15,367 INFO  [Log4jService] Started Logging Service
>> 10:38:15,367 INFO  [Log4jService] Runtime Information:
>> 10:38:15,367 INFO  [Log4jService]   Install Directory =
>> C:\geronimo-jetty6-javaee5-2.1
>> 10:38:15,367 INFO  [Log4jService]   JVM in use = Sun Microsystems  
>> Inc. Java
>> 1.6.0_01
>> 10:38:15,367 INFO  [Log4jService] Java Information:
>> 10:38:15,367 INFO  [Log4jService]   System property  
>> [java.runtime.name]  =
>> Java(TM) SE Runtime Environment
>> 10:38:15,367 INFO  [Log4jService]   System property  
>> [java.runtime.version]
>> = 1.6.0_01-b06
>> 10:38:15,367 INFO  [Log4jService]   System property  
>> [os.name]             =
>> Windows XP
>> ...
>>
>> looks like OpenEJB deployed all the ...Actions!  This is good!
>>
>> ...
>>
>> 10:40:38,868 INFO  [OpenEJB] Auto-deploying ejb AuthenticatorAction:
>> EjbDeployment(deployment-id=jboss-seam-jee5.jar/AuthenticatorAction)
>> 10:40:38,868 INFO  [OpenEJB] Auto-deploying ejb BookingListAction:
>> EjbDeployment(deployment-id=jboss-seam-jee5.jar/BookingListAction)
>> 10:40:38,868 INFO  [OpenEJB] Auto-deploying ejb ChangePasswordAction:
>> EjbDeployment(deployment-id=jboss-seam-jee5.jar/ChangePasswordAction)
>> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb HotelBookingAction:
>> EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelBookingAction)
>> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb HotelSearchingAction:
>> EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelSearchingAction)
>> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb RegisterAction:
>> EjbDeployment(deployment-id=jboss-seam-jee5.jar/RegisterAction)
>> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb  
>> TimerServiceDispatcher:
>> EjbDeployment(deployment-id=jboss-seam.jar/TimerServiceDispatcher)
>> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb EjbSynchronizations:
>> EjbDeployment(deployment-id=jboss-seam.jar/EjbSynchronizations)
>> 10:40:38,930 INFO  [config] Loaded Module:
>> org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear
>> 10:40:44,366 INFO  [KernelContextGBean] bound gbean
>> 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,JCAConnectionFactory=ElvisPool,JCAResource=seam- 
>> jee5-dbpool,ResourceAdapter=seam-jee5- 
>> dbpool,ResourceAdapterModule=seam-jee5- 
>> dbpool,j2eeType=JCAManagedConnectionFactory,name=ElvisPool
>> at name
>> org.jboss.seam.examples.jee5/jboss-seam-jee5/ 
>> JCAManagedConnectionFactory/ElvisPool
>> 10:40:44,475 INFO  [Version] Hibernate Annotations 3.3.0.GA
>> 10:40:44,897 INFO  [Environment] Hibernate 3.2.4.sp1
>> 10:40:44,975 INFO  [Environment] hibernate.properties not found
>> 10:40:44,975 INFO  [Environment] Bytecode provider name : cglib
>> 10:40:44,991 INFO  [Environment] using JDK 1.4 java.sql.Timestamp  
>> handling
>> 10:40:45,241 INFO  [Version] Hibernate EntityManager 3.3.1.GA
>>
>> first error: (its different; still with Ejb3Configuration.java though)
>>
>> 10:40:45,335 INFO  [Ejb3Configuration] Processing  
>> PersistenceUnitInfo [
>> 	name: bookingDatabase
>> 	...]
>> 10:40:45,335 ERROR [Ejb3Configuration] Container is providing a null
>> PersistenceUnitRootUrl: discovery impossible
>> 10:40:45,381 ERROR [GBeanInstanceState] Error while starting; GBean  
>> is now
>> in the FAILED state:
>> abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ 
>> ear?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"
>> java.lang.NoClassDefFoundError:
>> EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap
>> 	at org.jboss.util.file.ArchiveBrowser.<clinit>(ArchiveBrowser.java: 
>> 52)
>> 	at
>> org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles 
>> (Ejb3Configuration.java:606)
>> 	at
>> org.hibernate.ejb.Ejb3Configuration.configure 
>> (Ejb3Configuration.java:351)
>> 	at
>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFac 
>> tory(HibernatePersistence.java:126)
>> 	at
>> org.apache.geronimo.persistence.PersistenceUnitGBean.<init> 
>> (PersistenceUnitGBean.java:119)
>> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native  
>> Method)
>> 	at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance 
>> (NativeConstructorAccessorImpl.java:39)
>> 	at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance 
>> (DelegatingConstructorAccessorImpl.java:27)
>> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance 
>> (GBeanInstance.java:948)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( 
>> GBeanInstanceState.java:268)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start 
>> (GBeanInstanceState.java:102)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.start 
>> (GBeanInstance.java:541)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart 
>> (GBeanDependency.java:111)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget 
>> (GBeanDependency.java:146)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanDependency$1.running 
>> (GBeanDependency.java:120)
>> 	at
>> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEven 
>> t(BasicLifecycleMonitor.java:176)
>> 	at
>> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300 
>> (BasicLifecycleMonitor.java:44)
>> 	at
>> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor 
>> $RawLifecycleBroadcaster.fireRunningEvent 
>> (BasicLifecycleMonitor.java:254)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( 
>> GBeanInstanceState.java:294)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start 
>> (GBeanInstanceState.java:102)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.start 
>> (GBeanInstance.java:541)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart 
>> (GBeanDependency.java:111)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget 
>> (GBeanDependency.java:146)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanDependency$1.running 
>> (GBeanDependency.java:120)
>> 	at
>> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEven 
>> t(BasicLifecycleMonitor.java:176)
>> 	at
>> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300 
>> (BasicLifecycleMonitor.java:44)
>> 	at
>> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor 
>> $RawLifecycleBroadcaster.fireRunningEvent 
>> (BasicLifecycleMonitor.java:254)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( 
>> GBeanInstanceState.java:294)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start 
>> (GBeanInstanceState.java:102)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive 
>> (GBeanInstanceState.java:124)
>> 	at
>> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive 
>> (GBeanInstance.java:555)
>> 	at
>> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean 
>> (BasicKernel.java:379)
>> 	at
>> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration 
>> GBeans(ConfigurationUtil.java:456)
>> 	at
>> org.apache.geronimo.kernel.config.KernelConfigurationManager.start 
>> (KernelConfigurationManager.java:187)
>> 	at
>> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf 
>> iguration(SimpleConfigurationManager.java:534)
>> 	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.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 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)
>> 10:40:45,381 WARN  [BasicLifecycleMonitor] Exception occured while  
>> notifying
>> listener
>> java.lang.NoClassDefFoundError:
>> EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap
>> 	at org.jboss.util.file.ArchiveBrowser.<clinit>(ArchiveBrowser.java: 
>> 52)
>> ...
>>
>>
>> I think this is good progress!
>>
>> Could you let me know what I need to do next?
>>
>> Thanks very much,
>> .Burt
>>
>>
>>
>>
>> djencks wrote:
>>>
>>>
>>> On Feb 28, 2008, at 9:47 AM, Burt Prior wrote:
>>>
>>>>
>>>> Hi David and Jacek,
>>>>
>>>>> If you install this in your geronimo repo you should be able to
>>>>> get  past
>>>>> this problem.
>>>>
>>>> Excellent.  Could you point me to what I need to install?  Is it in
>>>> subversion repo?
>>>
>>> cd <geronimo-home>
>>> mkdir -p repository/org/apache/geronimo/modules/geronimo-persistence-
>>> jpa10/2.2-SNAPSHOT
>>> wget http://people.apache.org/repo/m2-snapshot-repository/org/apache/
>>> geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/geronimo-
>>> persistence-jpa10-2.2-20080228.021634-2.jar
>>> mv geronimo-persistence-jpa10-2.2-20080228.021634-2.jar     
>>> repository/
>>> org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/
>>> geronimo-persistence-jpa10-2.2-SNAPSHOT.jar
>>>
>>> then edit var/config/artifact_aliases.properties
>>>
>>> add lines
>>>
>>> org.apache.geronimo.modules/geronimo-persistence-jpa10//
>>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>>> SNAPSHOT/jar
>>> org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/
>>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>>> SNAPSHOT/jar
>>>
>>> I have a lot of trouble writing directions that can be followed, so
>>> don't be shy about complaining :-)
>>> hmmm.... we need console and gshell actions to upgrade an artifact
>>> from a known handy repo such as the apache snapshot repo...
>>>
>>> GERONIMO-3884
>>>
>>> thanks
>>> david jencks
>>>
>>>>
>>>> Do I still need to have Hibernate patched (correctly) to avoid the
>>>> NPE?
>>>>
>>>> I'm trying to run thru the exact setup steps I need to do on
>>>> Geronimo to get
>>>> it working.
>>>>
>>>> Thanks,
>>>> .Burt
>>>>
>>>>
>>>>
>>>> djencks wrote:
>>>>>
>>>>>
>>>>> On Feb 27, 2008, at 6:01 PM, Jacek Laskowski wrote:
>>>>>
>>>>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks
>>>>>> <da...@yahoo.com> wrote:
>>>>>>
>>>>>>>  did you complain about this on the lists when you found the
>>>>>>> problem?
>>>>>>
>>>>>> Complain? No, not at all. Just put a note with other stuff and it
>>>>>> might not get enough attention. See
>>>>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>>>>
>>>>> I even remember reading that post :-(
>>>>>
>>>>> Anyway I think it's fixed now and I pushed the jar for trunk....
>>>>> org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2- 
>>>>> SNAPSHOT/
>>>>> geronimo-persistence-jpa10-2.2-20080228.021634-2.jar
>>>>> to the apache snapshot repo.
>>>>>
>>>>> If you install this in your geronimo repo you should be able to get
>>>>> past this problem.  It might be simpler to name it geronimo-
>>>>> persistence-jpa10-2.1.jar although it would be better to keep its
>>>>> real name and put it in the right place and if necessary use an
>>>>> artifact_alias entry to get geronimo to find it.
>>>>>
>>>>> entries would look like
>>>>> org.apache.geronimo.modules/geronimo-persistence-jpa10//
>>>>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>>>>> SNAPSHOT/jar
>>>>> org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/
>>>>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>>>>> SNAPSHOT/jar
>>>>>
>>>>> hope this helps
>>>>> david jencks
>>>>>
>>>>>
>>>>>>
>>>>>> Jacek
>>>>>>
>>>>>> -- 
>>>>>> Jacek Laskowski
>>>>>> http://www.JacekLaskowski.pl
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>> -- 
>>>> View this message in context: http://www.nabble.com/Geronimo-2.1-
>>>> and-Seam-tp15621154s134p15741951.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-tp15621154s134p15743385.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-tp15621154s134p15747467.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
On Feb 28, 2008, at 10:58 AM, Burt Prior wrote:

>
> Hi David,
>
> Ok, I successfully completed all the steps you listed.  Excellent
> instructions, thank you.
>
> I started geronimo with no issues, then issued my usual deploy  
> command.  I
> got a bunch of errors, but they are different now.  I think we are  
> actually
> making progress.

yes :-)

I think you need to add the concurrent jar as a dependency...

First get it in your g. repo

mkdir -p repository/concurrent/concurrent/1.3.4
wget http://repo1.maven.org/maven2/concurrent/concurrent/1.3.4/ 
concurrent-1.3.4.jar
mv concurrent-1.3.4.jar repository/concurrent/concurrent/1.3.4/

and add it as a dependency in your g. plan for the example (jboss- 
seam-jee5-geronimo-plan.xml)

   <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.0.0.GA</version>
       <type>ear</type>
     </moduleId>
     <dependencies>
       <dependency>
         <groupId>org.apache.geronimo.hibernate.transaction</groupId>
         <artifactId>geronimo-hibernate-transaction-manager-lookup</ 
artifactId>
         <type>jar</type>
       </dependency>
       <dependency>
         <groupId>concurrent</groupId>
         <artifactId>concurrent</artifactId>
         <type>jar</type>
       </dependency>
     </dependencies>
   </environment>


Hmmm.... maybe we should set this example up as a plugin so maven +  
geronimo will install this dependency for you.

Hope this helps
david jencks

> Here are the snippets from my log:
>
> good geronimo start:
>
> 10:38:15,352 INFO  [Log4jService]
> ----------------------------------------------
> 10:38:15,367 INFO  [Log4jService] Started Logging Service
> 10:38:15,367 INFO  [Log4jService] Runtime Information:
> 10:38:15,367 INFO  [Log4jService]   Install Directory =
> C:\geronimo-jetty6-javaee5-2.1
> 10:38:15,367 INFO  [Log4jService]   JVM in use = Sun Microsystems  
> Inc. Java
> 1.6.0_01
> 10:38:15,367 INFO  [Log4jService] Java Information:
> 10:38:15,367 INFO  [Log4jService]   System property  
> [java.runtime.name]  =
> Java(TM) SE Runtime Environment
> 10:38:15,367 INFO  [Log4jService]   System property  
> [java.runtime.version]
> = 1.6.0_01-b06
> 10:38:15,367 INFO  [Log4jService]   System property  
> [os.name]             =
> Windows XP
> ...
>
> looks like OpenEJB deployed all the ...Actions!  This is good!
>
> ...
>
> 10:40:38,868 INFO  [OpenEJB] Auto-deploying ejb AuthenticatorAction:
> EjbDeployment(deployment-id=jboss-seam-jee5.jar/AuthenticatorAction)
> 10:40:38,868 INFO  [OpenEJB] Auto-deploying ejb BookingListAction:
> EjbDeployment(deployment-id=jboss-seam-jee5.jar/BookingListAction)
> 10:40:38,868 INFO  [OpenEJB] Auto-deploying ejb ChangePasswordAction:
> EjbDeployment(deployment-id=jboss-seam-jee5.jar/ChangePasswordAction)
> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb HotelBookingAction:
> EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelBookingAction)
> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb HotelSearchingAction:
> EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelSearchingAction)
> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb RegisterAction:
> EjbDeployment(deployment-id=jboss-seam-jee5.jar/RegisterAction)
> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb  
> TimerServiceDispatcher:
> EjbDeployment(deployment-id=jboss-seam.jar/TimerServiceDispatcher)
> 10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb EjbSynchronizations:
> EjbDeployment(deployment-id=jboss-seam.jar/EjbSynchronizations)
> 10:40:38,930 INFO  [config] Loaded Module:
> org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear
> 10:40:44,366 INFO  [KernelContextGBean] bound gbean
> 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,JCAConnectionFactory=ElvisPool,JCAResource=seam- 
> jee5-dbpool,ResourceAdapter=seam-jee5- 
> dbpool,ResourceAdapterModule=seam-jee5- 
> dbpool,j2eeType=JCAManagedConnectionFactory,name=ElvisPool
> at name
> org.jboss.seam.examples.jee5/jboss-seam-jee5/ 
> JCAManagedConnectionFactory/ElvisPool
> 10:40:44,475 INFO  [Version] Hibernate Annotations 3.3.0.GA
> 10:40:44,897 INFO  [Environment] Hibernate 3.2.4.sp1
> 10:40:44,975 INFO  [Environment] hibernate.properties not found
> 10:40:44,975 INFO  [Environment] Bytecode provider name : cglib
> 10:40:44,991 INFO  [Environment] using JDK 1.4 java.sql.Timestamp  
> handling
> 10:40:45,241 INFO  [Version] Hibernate EntityManager 3.3.1.GA
>
> first error: (its different; still with Ejb3Configuration.java though)
>
> 10:40:45,335 INFO  [Ejb3Configuration] Processing  
> PersistenceUnitInfo [
> 	name: bookingDatabase
> 	...]
> 10:40:45,335 ERROR [Ejb3Configuration] Container is providing a null
> PersistenceUnitRootUrl: discovery impossible
> 10:40:45,381 ERROR [GBeanInstanceState] Error while starting; GBean  
> is now
> in the FAILED state:
> abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ 
> ear?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"
> java.lang.NoClassDefFoundError:
> EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap
> 	at org.jboss.util.file.ArchiveBrowser.<clinit>(ArchiveBrowser.java: 
> 52)
> 	at
> org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles 
> (Ejb3Configuration.java:606)
> 	at
> org.hibernate.ejb.Ejb3Configuration.configure 
> (Ejb3Configuration.java:351)
> 	at
> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFac 
> tory(HibernatePersistence.java:126)
> 	at
> org.apache.geronimo.persistence.PersistenceUnitGBean.<init> 
> (PersistenceUnitGBean.java:119)
> 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native  
> Method)
> 	at
> sun.reflect.NativeConstructorAccessorImpl.newInstance 
> (NativeConstructorAccessorImpl.java:39)
> 	at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance 
> (DelegatingConstructorAccessorImpl.java:27)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance 
> (GBeanInstance.java:948)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( 
> GBeanInstanceState.java:268)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start 
> (GBeanInstanceState.java:102)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstance.start 
> (GBeanInstance.java:541)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart 
> (GBeanDependency.java:111)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget 
> (GBeanDependency.java:146)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanDependency$1.running 
> (GBeanDependency.java:120)
> 	at
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEven 
> t(BasicLifecycleMonitor.java:176)
> 	at
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300 
> (BasicLifecycleMonitor.java:44)
> 	at
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor 
> $RawLifecycleBroadcaster.fireRunningEvent 
> (BasicLifecycleMonitor.java:254)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( 
> GBeanInstanceState.java:294)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start 
> (GBeanInstanceState.java:102)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstance.start 
> (GBeanInstance.java:541)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart 
> (GBeanDependency.java:111)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget 
> (GBeanDependency.java:146)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanDependency$1.running 
> (GBeanDependency.java:120)
> 	at
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEven 
> t(BasicLifecycleMonitor.java:176)
> 	at
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300 
> (BasicLifecycleMonitor.java:44)
> 	at
> org.apache.geronimo.kernel.basic.BasicLifecycleMonitor 
> $RawLifecycleBroadcaster.fireRunningEvent 
> (BasicLifecycleMonitor.java:254)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart( 
> GBeanInstanceState.java:294)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start 
> (GBeanInstanceState.java:102)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive 
> (GBeanInstanceState.java:124)
> 	at
> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive 
> (GBeanInstance.java:555)
> 	at
> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean 
> (BasicKernel.java:379)
> 	at
> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguration 
> GBeans(ConfigurationUtil.java:456)
> 	at
> org.apache.geronimo.kernel.config.KernelConfigurationManager.start 
> (KernelConfigurationManager.java:187)
> 	at
> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConf 
> iguration(SimpleConfigurationManager.java:534)
> 	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.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 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)
> 10:40:45,381 WARN  [BasicLifecycleMonitor] Exception occured while  
> notifying
> listener
> java.lang.NoClassDefFoundError:
> EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap
> 	at org.jboss.util.file.ArchiveBrowser.<clinit>(ArchiveBrowser.java: 
> 52)
> ...
>
>
> I think this is good progress!
>
> Could you let me know what I need to do next?
>
> Thanks very much,
> .Burt
>
>
>
>
> djencks wrote:
>>
>>
>> On Feb 28, 2008, at 9:47 AM, Burt Prior wrote:
>>
>>>
>>> Hi David and Jacek,
>>>
>>>> If you install this in your geronimo repo you should be able to
>>>> get  past
>>>> this problem.
>>>
>>> Excellent.  Could you point me to what I need to install?  Is it in
>>> subversion repo?
>>
>> cd <geronimo-home>
>> mkdir -p repository/org/apache/geronimo/modules/geronimo-persistence-
>> jpa10/2.2-SNAPSHOT
>> wget http://people.apache.org/repo/m2-snapshot-repository/org/apache/
>> geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/geronimo-
>> persistence-jpa10-2.2-20080228.021634-2.jar
>> mv geronimo-persistence-jpa10-2.2-20080228.021634-2.jar     
>> repository/
>> org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/
>> geronimo-persistence-jpa10-2.2-SNAPSHOT.jar
>>
>> then edit var/config/artifact_aliases.properties
>>
>> add lines
>>
>> org.apache.geronimo.modules/geronimo-persistence-jpa10//
>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>> SNAPSHOT/jar
>> org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/
>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>> SNAPSHOT/jar
>>
>> I have a lot of trouble writing directions that can be followed, so
>> don't be shy about complaining :-)
>> hmmm.... we need console and gshell actions to upgrade an artifact
>> from a known handy repo such as the apache snapshot repo...
>>
>> GERONIMO-3884
>>
>> thanks
>> david jencks
>>
>>>
>>> Do I still need to have Hibernate patched (correctly) to avoid the
>>> NPE?
>>>
>>> I'm trying to run thru the exact setup steps I need to do on
>>> Geronimo to get
>>> it working.
>>>
>>> Thanks,
>>> .Burt
>>>
>>>
>>>
>>> djencks wrote:
>>>>
>>>>
>>>> On Feb 27, 2008, at 6:01 PM, Jacek Laskowski wrote:
>>>>
>>>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks
>>>>> <da...@yahoo.com> wrote:
>>>>>
>>>>>>  did you complain about this on the lists when you found the
>>>>>> problem?
>>>>>
>>>>> Complain? No, not at all. Just put a note with other stuff and it
>>>>> might not get enough attention. See
>>>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>>>
>>>> I even remember reading that post :-(
>>>>
>>>> Anyway I think it's fixed now and I pushed the jar for trunk....
>>>> org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2- 
>>>> SNAPSHOT/
>>>> geronimo-persistence-jpa10-2.2-20080228.021634-2.jar
>>>> to the apache snapshot repo.
>>>>
>>>> If you install this in your geronimo repo you should be able to get
>>>> past this problem.  It might be simpler to name it geronimo-
>>>> persistence-jpa10-2.1.jar although it would be better to keep its
>>>> real name and put it in the right place and if necessary use an
>>>> artifact_alias entry to get geronimo to find it.
>>>>
>>>> entries would look like
>>>> org.apache.geronimo.modules/geronimo-persistence-jpa10//
>>>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>>>> SNAPSHOT/jar
>>>> org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/
>>>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>>>> SNAPSHOT/jar
>>>>
>>>> hope this helps
>>>> david jencks
>>>>
>>>>
>>>>>
>>>>> Jacek
>>>>>
>>>>> -- 
>>>>> Jacek Laskowski
>>>>> http://www.JacekLaskowski.pl
>>>>
>>>>
>>>>
>>>>
>>>
>>> -- 
>>> View this message in context: http://www.nabble.com/Geronimo-2.1-
>>> and-Seam-tp15621154s134p15741951.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-tp15621154s134p15743385.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

Ok, I successfully completed all the steps you listed.  Excellent
instructions, thank you.

I started geronimo with no issues, then issued my usual deploy command.  I
got a bunch of errors, but they are different now.  I think we are actually
making progress.  Here are the snippets from my log:

good geronimo start:

10:38:15,352 INFO  [Log4jService]
----------------------------------------------
10:38:15,367 INFO  [Log4jService] Started Logging Service
10:38:15,367 INFO  [Log4jService] Runtime Information:
10:38:15,367 INFO  [Log4jService]   Install Directory =
C:\geronimo-jetty6-javaee5-2.1
10:38:15,367 INFO  [Log4jService]   JVM in use = Sun Microsystems Inc. Java
1.6.0_01
10:38:15,367 INFO  [Log4jService] Java Information:
10:38:15,367 INFO  [Log4jService]   System property [java.runtime.name]  =
Java(TM) SE Runtime Environment
10:38:15,367 INFO  [Log4jService]   System property [java.runtime.version] 
= 1.6.0_01-b06
10:38:15,367 INFO  [Log4jService]   System property [os.name]             =
Windows XP
...

looks like OpenEJB deployed all the ...Actions!  This is good!

...

10:40:38,868 INFO  [OpenEJB] Auto-deploying ejb AuthenticatorAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/AuthenticatorAction)
10:40:38,868 INFO  [OpenEJB] Auto-deploying ejb BookingListAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/BookingListAction)
10:40:38,868 INFO  [OpenEJB] Auto-deploying ejb ChangePasswordAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/ChangePasswordAction)
10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb HotelBookingAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelBookingAction)
10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb HotelSearchingAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelSearchingAction)
10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb RegisterAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/RegisterAction)
10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb TimerServiceDispatcher:
EjbDeployment(deployment-id=jboss-seam.jar/TimerServiceDispatcher)
10:40:38,883 INFO  [OpenEJB] Auto-deploying ejb EjbSynchronizations:
EjbDeployment(deployment-id=jboss-seam.jar/EjbSynchronizations)
10:40:38,930 INFO  [config] Loaded Module:
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear
10:40:44,366 INFO  [KernelContextGBean] bound gbean
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,JCAConnectionFactory=ElvisPool,JCAResource=seam-jee5-dbpool,ResourceAdapter=seam-jee5-dbpool,ResourceAdapterModule=seam-jee5-dbpool,j2eeType=JCAManagedConnectionFactory,name=ElvisPool
at name
org.jboss.seam.examples.jee5/jboss-seam-jee5/JCAManagedConnectionFactory/ElvisPool
10:40:44,475 INFO  [Version] Hibernate Annotations 3.3.0.GA
10:40:44,897 INFO  [Environment] Hibernate 3.2.4.sp1
10:40:44,975 INFO  [Environment] hibernate.properties not found
10:40:44,975 INFO  [Environment] Bytecode provider name : cglib
10:40:44,991 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling
10:40:45,241 INFO  [Version] Hibernate EntityManager 3.3.1.GA

first error: (its different; still with Ejb3Configuration.java though)

10:40:45,335 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [
	name: bookingDatabase
	...]
10:40:45,335 ERROR [Ejb3Configuration] Container is providing a null
PersistenceUnitRootUrl: discovery impossible
10:40:45,381 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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"
java.lang.NoClassDefFoundError:
EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap
	at org.jboss.util.file.ArchiveBrowser.<clinit>(ArchiveBrowser.java:52)
	at
org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles(Ejb3Configuration.java:606)
	at
org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:351)
	at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
	at
org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:119)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:948)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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)
10:40:45,381 WARN  [BasicLifecycleMonitor] Exception occured while notifying
listener
java.lang.NoClassDefFoundError:
EDU/oswego/cs/dl/util/concurrent/ConcurrentReaderHashMap
	at org.jboss.util.file.ArchiveBrowser.<clinit>(ArchiveBrowser.java:52)
...


I think this is good progress!

Could you let me know what I need to do next?

Thanks very much,
.Burt




djencks wrote:
> 
> 
> On Feb 28, 2008, at 9:47 AM, Burt Prior wrote:
> 
>>
>> Hi David and Jacek,
>>
>>> If you install this in your geronimo repo you should be able to  
>>> get  past
>>> this problem.
>>
>> Excellent.  Could you point me to what I need to install?  Is it in
>> subversion repo?
> 
> cd <geronimo-home>
> mkdir -p repository/org/apache/geronimo/modules/geronimo-persistence- 
> jpa10/2.2-SNAPSHOT
> wget http://people.apache.org/repo/m2-snapshot-repository/org/apache/ 
> geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/geronimo- 
> persistence-jpa10-2.2-20080228.021634-2.jar
> mv geronimo-persistence-jpa10-2.2-20080228.021634-2.jar    repository/ 
> org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/ 
> geronimo-persistence-jpa10-2.2-SNAPSHOT.jar
> 
> then edit var/config/artifact_aliases.properties
> 
> add lines
> 
> org.apache.geronimo.modules/geronimo-persistence-jpa10// 
> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
> SNAPSHOT/jar
> org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/ 
> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
> SNAPSHOT/jar
> 
> I have a lot of trouble writing directions that can be followed, so  
> don't be shy about complaining :-)
> hmmm.... we need console and gshell actions to upgrade an artifact  
> from a known handy repo such as the apache snapshot repo...
> 
> GERONIMO-3884
> 
> thanks
> david jencks
> 
>>
>> Do I still need to have Hibernate patched (correctly) to avoid the  
>> NPE?
>>
>> I'm trying to run thru the exact setup steps I need to do on  
>> Geronimo to get
>> it working.
>>
>> Thanks,
>> .Burt
>>
>>
>>
>> djencks wrote:
>>>
>>>
>>> On Feb 27, 2008, at 6:01 PM, Jacek Laskowski wrote:
>>>
>>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks
>>>> <da...@yahoo.com> wrote:
>>>>
>>>>>  did you complain about this on the lists when you found the  
>>>>> problem?
>>>>
>>>> Complain? No, not at all. Just put a note with other stuff and it
>>>> might not get enough attention. See
>>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>>
>>> I even remember reading that post :-(
>>>
>>> Anyway I think it's fixed now and I pushed the jar for trunk....
>>> org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/
>>> geronimo-persistence-jpa10-2.2-20080228.021634-2.jar
>>> to the apache snapshot repo.
>>>
>>> If you install this in your geronimo repo you should be able to get
>>> past this problem.  It might be simpler to name it geronimo-
>>> persistence-jpa10-2.1.jar although it would be better to keep its
>>> real name and put it in the right place and if necessary use an
>>> artifact_alias entry to get geronimo to find it.
>>>
>>> entries would look like
>>> org.apache.geronimo.modules/geronimo-persistence-jpa10//
>>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>>> SNAPSHOT/jar
>>> org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/
>>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>>> SNAPSHOT/jar
>>>
>>> hope this helps
>>> david jencks
>>>
>>>
>>>>
>>>> Jacek
>>>>
>>>> -- 
>>>> Jacek Laskowski
>>>> http://www.JacekLaskowski.pl
>>>
>>>
>>>
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/Geronimo-2.1- 
>> and-Seam-tp15621154s134p15741951.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-tp15621154s134p15743385.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
On Feb 28, 2008, at 9:47 AM, Burt Prior wrote:

>
> Hi David and Jacek,
>
>> If you install this in your geronimo repo you should be able to  
>> get  past
>> this problem.
>
> Excellent.  Could you point me to what I need to install?  Is it in
> subversion repo?

cd <geronimo-home>
mkdir -p repository/org/apache/geronimo/modules/geronimo-persistence- 
jpa10/2.2-SNAPSHOT
wget http://people.apache.org/repo/m2-snapshot-repository/org/apache/ 
geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/geronimo- 
persistence-jpa10-2.2-20080228.021634-2.jar
mv geronimo-persistence-jpa10-2.2-20080228.021634-2.jar    repository/ 
org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/ 
geronimo-persistence-jpa10-2.2-SNAPSHOT.jar

then edit var/config/artifact_aliases.properties

add lines

org.apache.geronimo.modules/geronimo-persistence-jpa10// 
jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
SNAPSHOT/jar
org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/ 
jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
SNAPSHOT/jar

I have a lot of trouble writing directions that can be followed, so  
don't be shy about complaining :-)
hmmm.... we need console and gshell actions to upgrade an artifact  
from a known handy repo such as the apache snapshot repo...

GERONIMO-3884

thanks
david jencks

>
> Do I still need to have Hibernate patched (correctly) to avoid the  
> NPE?
>
> I'm trying to run thru the exact setup steps I need to do on  
> Geronimo to get
> it working.
>
> Thanks,
> .Burt
>
>
>
> djencks wrote:
>>
>>
>> On Feb 27, 2008, at 6:01 PM, Jacek Laskowski wrote:
>>
>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks
>>> <da...@yahoo.com> wrote:
>>>
>>>>  did you complain about this on the lists when you found the  
>>>> problem?
>>>
>>> Complain? No, not at all. Just put a note with other stuff and it
>>> might not get enough attention. See
>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>
>> I even remember reading that post :-(
>>
>> Anyway I think it's fixed now and I pushed the jar for trunk....
>> org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/
>> geronimo-persistence-jpa10-2.2-20080228.021634-2.jar
>> to the apache snapshot repo.
>>
>> If you install this in your geronimo repo you should be able to get
>> past this problem.  It might be simpler to name it geronimo-
>> persistence-jpa10-2.1.jar although it would be better to keep its
>> real name and put it in the right place and if necessary use an
>> artifact_alias entry to get geronimo to find it.
>>
>> entries would look like
>> org.apache.geronimo.modules/geronimo-persistence-jpa10//
>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>> SNAPSHOT/jar
>> org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/
>> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2-
>> SNAPSHOT/jar
>>
>> hope this helps
>> david jencks
>>
>>
>>>
>>> Jacek
>>>
>>> -- 
>>> Jacek Laskowski
>>> http://www.JacekLaskowski.pl
>>
>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Geronimo-2.1- 
> and-Seam-tp15621154s134p15741951.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David and Jacek,

> If you install this in your geronimo repo you should be able to get  past
> this problem.

Excellent.  Could you point me to what I need to install?  Is it in
subversion repo?  

Do I still need to have Hibernate patched (correctly) to avoid the NPE?

I'm trying to run thru the exact setup steps I need to do on Geronimo to get
it working.

Thanks,
.Burt



djencks wrote:
> 
> 
> On Feb 27, 2008, at 6:01 PM, Jacek Laskowski wrote:
> 
>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks  
>> <da...@yahoo.com> wrote:
>>
>>>  did you complain about this on the lists when you found the problem?
>>
>> Complain? No, not at all. Just put a note with other stuff and it
>> might not get enough attention. See
>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
> 
> I even remember reading that post :-(
> 
> Anyway I think it's fixed now and I pushed the jar for trunk....    
> org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/ 
> geronimo-persistence-jpa10-2.2-20080228.021634-2.jar
> to the apache snapshot repo.
> 
> If you install this in your geronimo repo you should be able to get  
> past this problem.  It might be simpler to name it geronimo- 
> persistence-jpa10-2.1.jar although it would be better to keep its  
> real name and put it in the right place and if necessary use an  
> artifact_alias entry to get geronimo to find it.
> 
> entries would look like
> org.apache.geronimo.modules/geronimo-persistence-jpa10// 
> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
> SNAPSHOT/jar
> org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/ 
> jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
> SNAPSHOT/jar
> 
> hope this helps
> david jencks
> 
> 
>>
>> Jacek
>>
>> -- 
>> Jacek Laskowski
>> http://www.JacekLaskowski.pl
> 
> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
On Feb 27, 2008, at 6:01 PM, Jacek Laskowski wrote:

> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks  
> <da...@yahoo.com> wrote:
>
>>  did you complain about this on the lists when you found the problem?
>
> Complain? No, not at all. Just put a note with other stuff and it
> might not get enough attention. See
> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.

I even remember reading that post :-(

Anyway I think it's fixed now and I pushed the jar for trunk....    
org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/ 
geronimo-persistence-jpa10-2.2-20080228.021634-2.jar
to the apache snapshot repo.

If you install this in your geronimo repo you should be able to get  
past this problem.  It might be simpler to name it geronimo- 
persistence-jpa10-2.1.jar although it would be better to keep its  
real name and put it in the right place and if necessary use an  
artifact_alias entry to get geronimo to find it.

entries would look like
org.apache.geronimo.modules/geronimo-persistence-jpa10// 
jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
SNAPSHOT/jar
org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/ 
jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
SNAPSHOT/jar

hope this helps
david jencks


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



Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David, Jay, and Jacek,

Ok! Got the booking example working!  Wow! It was very exciting to see the
booking example homepage on Geronimo 2.1 after deploying.

I can't save anything to my (Oracle thin driver) database using the 'pool' I
set up thru Geronimo, but I guess I'll just have to work on that as a
separate issue.  Perhaps my deployment plan is incorrect; i'm not sure.

Just getting to this point with Geronimo and Seam has our team very
energized to deliver and showcase our first Geronimo and Seam application!

Just a note of thanks for sticking with us thru all the issues.  Thank You.

Ok, on that making Geronimo and Seam work with our Oracle database pool.

Thanks,
.Burt






Jay D. McHugh-3 wrote:
> 
> False alarm.
> 
> It does deploy from the command line also.
> 
> I made the mistake of trying to deploy as a non-root user when Geronimo 
> is installed into a directory owned by root.
> 
> It is working from the command line also.
> 
> I'll try using the patched Geronimo 2.1 to make sure that works too.
> 
> Jay
> 
> Jay D. McHugh wrote:
>> Actually, it is working if I deploy from the web console.
>> 
>> When I try to deploy from the command line, it chokes.
>> 
>> So try using the console to deploy and see if that gets you there.
>> 
>> Jay
>> 
>> Jay D. McHugh wrote:
>>> Burt,
>>>
>>> Grab a new copy of the geronimo-hibernate-transaction-manager-lookup 
>>> jar (later referred to as 'ghtml.jar') from 
>>> http://people.apache.org/~jaydm/hibernate and replace the file already 
>>> in your Geronimo repo.
>>>
>>> Using a fresh trunk build and that recompiled jar file, I was able to 
>>> deploy the Seam jee5 booking example.
>>>
>>> The old ghtml.jar was giving me unresolved import errors when I tried 
>>> to  deploy (I don't know why).
>>>
>>> But now I am looking at the booking example (ooh pretty!).
>>>
>>> Are you able to get the sample running?
>>>
>>>
>>> Jay
>>>
>>> David Jencks wrote:
>>>>
>>>> On Feb 28, 2008, at 10:01 PM, David Jencks wrote:
>>>>
>>>>>
>>>>> On Feb 28, 2008, at 4:42 PM, Burt Prior wrote:
>>>>>
>>>>>>
>>>>>> Hi Jacek,
>>>>>>
>>>>>> I just noticed something in my last posting to David. In my error 
>>>>>> log I
>>>>>> posted:
>>>>>>
>>>>>> ...
>>>>>> 14:00:28,084 INFO  [Ejb3Configuration] Processing 
>>>>>> PersistenceUnitInfo [
>>>>>>         name: bookingDatabase
>>>>>>         ...]
>>>>>> 14:00:28,084 ERROR [Ejb3Configuration] Container is providing a null
>>>>>> PersistenceUnitRootUrl: discovery impossible
>>>>>> ...
>>>>>>
>>>>>> I noticed that in your "Running JBoss Seam 2 on Geronimo 2.1" 
>>>>>> article, when
>>>>>> you show the log, it has the same error as well.
>>>>>>
>>>>>> The difference appears to be, your example continues to load the 
>>>>>> booking
>>>>>> application, and mine throws an exception on the next line:
>>>>>>
>>>>>> 14:00:28,115 ERROR [GBeanInstanceState] Error while starting; GBean 
>>>>>> is now
>>>>>> in the FAILED state:
>>>>>> abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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" 
>>>>>>
>>>>>> java.lang.NullPointerException
>>>>>>         at
>>>>>> org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)
>>>>>>         at
>>>>>> org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles(Ejb3Configuration.java:606) 
>>>>>>
>>>>>>         at
>>>>>> org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:351) 
>>>>>>
>>>>>>         at
>>>>>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126) 
>>>>>>
>>>>>>         at
>>>>>> org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:119) 
>>>>>>
>>>>>>
>>>>>> ...
>>>>>>
>>>>>> I thought it was interesting that although we recieved the same 
>>>>>> error, your
>>>>>> example continued to deploy and run, and mine stopped the deploy 
>>>>>> with those
>>>>>> exceptions.
>>>>>
>>>>> I browsed the hibernate code a bit and think that maybe you are 
>>>>> using different versions of hibernate?  In
>>>>>
>>>>> http://fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/java/org/hibernate/ejb/Ejb3Configuration.java?r=11344 
>>>>>
>>>>>
>>>>> the error message is right before some code that uses the 
>>>>> PersistenceUnitRootUrl whereas in a later version of the code the 
>>>>> message is immediately followed by "return".
>>>>>
>>>>> I looked in the geronimo code a bit more and haven't figured out how 
>>>>> this can be null.....
>>>>
>>>> Further investigation after some sleep revealed a bug right next to 
>>>> the previous one.  I've fixed it and pushed a new snapshot of 
>>>> geronimo-persistence-jpa10-2.2-20080229.155614-3.jar.  If you get 
>>>> this one in your g. repo just like you did with the previous jar you 
>>>> should be able to get farther.
>>>>
>>>> thanks
>>>> david jencks
>>>>
>>>>>
>>>>> Where in the ear is the persistence unit?
>>>>>
>>>>> thanks
>>>>> david jencks
>>>>>
>>>>>>
>>>>>> Thanks,
>>>>>> .Burt
>>>>>>
>>>>>>
>>>>>>
>>>>>> Jacek Laskowski wrote:
>>>>>>>
>>>>>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks 
>>>>>>> <da...@yahoo.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>>  did you complain about this on the lists when you found the 
>>>>>>>> problem?
>>>>>>>
>>>>>>> Complain? No, not at all. Just put a note with other stuff and it
>>>>>>> might not get enough attention. See
>>>>>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>>>>>>
>>>>>>> Jacek
>>>>>>>
>>>>>>> -- 
>>>>>>> Jacek Laskowski
>>>>>>> http://www.JacekLaskowski.pl
>>>>>>>
>>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> View this message in context: 
>>>>>> http://www.nabble.com/Geronimo-2.1-and-Seam-tp15621154s134p15749616.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-tp15621154s134p15809472.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo 2.1 and Seam

Posted by "Jay D. McHugh" <ja...@gmail.com>.
False alarm.

It does deploy from the command line also.

I made the mistake of trying to deploy as a non-root user when Geronimo 
is installed into a directory owned by root.

It is working from the command line also.

I'll try using the patched Geronimo 2.1 to make sure that works too.

Jay

Jay D. McHugh wrote:
> Actually, it is working if I deploy from the web console.
> 
> When I try to deploy from the command line, it chokes.
> 
> So try using the console to deploy and see if that gets you there.
> 
> Jay
> 
> Jay D. McHugh wrote:
>> Burt,
>>
>> Grab a new copy of the geronimo-hibernate-transaction-manager-lookup 
>> jar (later referred to as 'ghtml.jar') from 
>> http://people.apache.org/~jaydm/hibernate and replace the file already 
>> in your Geronimo repo.
>>
>> Using a fresh trunk build and that recompiled jar file, I was able to 
>> deploy the Seam jee5 booking example.
>>
>> The old ghtml.jar was giving me unresolved import errors when I tried 
>> to  deploy (I don't know why).
>>
>> But now I am looking at the booking example (ooh pretty!).
>>
>> Are you able to get the sample running?
>>
>>
>> Jay
>>
>> David Jencks wrote:
>>>
>>> On Feb 28, 2008, at 10:01 PM, David Jencks wrote:
>>>
>>>>
>>>> On Feb 28, 2008, at 4:42 PM, Burt Prior wrote:
>>>>
>>>>>
>>>>> Hi Jacek,
>>>>>
>>>>> I just noticed something in my last posting to David. In my error 
>>>>> log I
>>>>> posted:
>>>>>
>>>>> ...
>>>>> 14:00:28,084 INFO  [Ejb3Configuration] Processing 
>>>>> PersistenceUnitInfo [
>>>>>         name: bookingDatabase
>>>>>         ...]
>>>>> 14:00:28,084 ERROR [Ejb3Configuration] Container is providing a null
>>>>> PersistenceUnitRootUrl: discovery impossible
>>>>> ...
>>>>>
>>>>> I noticed that in your "Running JBoss Seam 2 on Geronimo 2.1" 
>>>>> article, when
>>>>> you show the log, it has the same error as well.
>>>>>
>>>>> The difference appears to be, your example continues to load the 
>>>>> booking
>>>>> application, and mine throws an exception on the next line:
>>>>>
>>>>> 14:00:28,115 ERROR [GBeanInstanceState] Error while starting; GBean 
>>>>> is now
>>>>> in the FAILED state:
>>>>> abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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" 
>>>>>
>>>>> java.lang.NullPointerException
>>>>>         at
>>>>> org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)
>>>>>         at
>>>>> org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles(Ejb3Configuration.java:606) 
>>>>>
>>>>>         at
>>>>> org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:351) 
>>>>>
>>>>>         at
>>>>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126) 
>>>>>
>>>>>         at
>>>>> org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:119) 
>>>>>
>>>>>
>>>>> ...
>>>>>
>>>>> I thought it was interesting that although we recieved the same 
>>>>> error, your
>>>>> example continued to deploy and run, and mine stopped the deploy 
>>>>> with those
>>>>> exceptions.
>>>>
>>>> I browsed the hibernate code a bit and think that maybe you are 
>>>> using different versions of hibernate?  In
>>>>
>>>> http://fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/java/org/hibernate/ejb/Ejb3Configuration.java?r=11344 
>>>>
>>>>
>>>> the error message is right before some code that uses the 
>>>> PersistenceUnitRootUrl whereas in a later version of the code the 
>>>> message is immediately followed by "return".
>>>>
>>>> I looked in the geronimo code a bit more and haven't figured out how 
>>>> this can be null.....
>>>
>>> Further investigation after some sleep revealed a bug right next to 
>>> the previous one.  I've fixed it and pushed a new snapshot of 
>>> geronimo-persistence-jpa10-2.2-20080229.155614-3.jar.  If you get 
>>> this one in your g. repo just like you did with the previous jar you 
>>> should be able to get farther.
>>>
>>> thanks
>>> david jencks
>>>
>>>>
>>>> Where in the ear is the persistence unit?
>>>>
>>>> thanks
>>>> david jencks
>>>>
>>>>>
>>>>> Thanks,
>>>>> .Burt
>>>>>
>>>>>
>>>>>
>>>>> Jacek Laskowski wrote:
>>>>>>
>>>>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks 
>>>>>> <da...@yahoo.com>
>>>>>> wrote:
>>>>>>
>>>>>>>  did you complain about this on the lists when you found the 
>>>>>>> problem?
>>>>>>
>>>>>> Complain? No, not at all. Just put a note with other stuff and it
>>>>>> might not get enough attention. See
>>>>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>>>>>
>>>>>> Jacek
>>>>>>
>>>>>> -- 
>>>>>> Jacek Laskowski
>>>>>> http://www.JacekLaskowski.pl
>>>>>>
>>>>>>
>>>>>
>>>>> -- 
>>>>> View this message in context: 
>>>>> http://www.nabble.com/Geronimo-2.1-and-Seam-tp15621154s134p15749616.html 
>>>>>
>>>>> Sent from the Apache Geronimo - Users mailing list archive at 
>>>>> Nabble.com.
>>>>>
>>>>
>>>
>>>

Re: Geronimo 2.1 and Seam

Posted by "Jay D. McHugh" <ja...@gmail.com>.
Actually, it is working if I deploy from the web console.

When I try to deploy from the command line, it chokes.

So try using the console to deploy and see if that gets you there.

Jay

Jay D. McHugh wrote:
> Burt,
> 
> Grab a new copy of the geronimo-hibernate-transaction-manager-lookup jar 
> (later referred to as 'ghtml.jar') from 
> http://people.apache.org/~jaydm/hibernate and replace the file already 
> in your Geronimo repo.
> 
> Using a fresh trunk build and that recompiled jar file, I was able to 
> deploy the Seam jee5 booking example.
> 
> The old ghtml.jar was giving me unresolved import errors when I tried to 
>  deploy (I don't know why).
> 
> But now I am looking at the booking example (ooh pretty!).
> 
> Are you able to get the sample running?
> 
> 
> Jay
> 
> David Jencks wrote:
>>
>> On Feb 28, 2008, at 10:01 PM, David Jencks wrote:
>>
>>>
>>> On Feb 28, 2008, at 4:42 PM, Burt Prior wrote:
>>>
>>>>
>>>> Hi Jacek,
>>>>
>>>> I just noticed something in my last posting to David. In my error log I
>>>> posted:
>>>>
>>>> ...
>>>> 14:00:28,084 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [
>>>>         name: bookingDatabase
>>>>         ...]
>>>> 14:00:28,084 ERROR [Ejb3Configuration] Container is providing a null
>>>> PersistenceUnitRootUrl: discovery impossible
>>>> ...
>>>>
>>>> I noticed that in your "Running JBoss Seam 2 on Geronimo 2.1" 
>>>> article, when
>>>> you show the log, it has the same error as well.
>>>>
>>>> The difference appears to be, your example continues to load the 
>>>> booking
>>>> application, and mine throws an exception on the next line:
>>>>
>>>> 14:00:28,115 ERROR [GBeanInstanceState] Error while starting; GBean 
>>>> is now
>>>> in the FAILED state:
>>>> abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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" 
>>>>
>>>> java.lang.NullPointerException
>>>>         at
>>>> org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)
>>>>         at
>>>> org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles(Ejb3Configuration.java:606) 
>>>>
>>>>         at
>>>> org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:351) 
>>>>
>>>>         at
>>>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126) 
>>>>
>>>>         at
>>>> org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:119) 
>>>>
>>>>
>>>> ...
>>>>
>>>> I thought it was interesting that although we recieved the same 
>>>> error, your
>>>> example continued to deploy and run, and mine stopped the deploy 
>>>> with those
>>>> exceptions.
>>>
>>> I browsed the hibernate code a bit and think that maybe you are using 
>>> different versions of hibernate?  In
>>>
>>> http://fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/java/org/hibernate/ejb/Ejb3Configuration.java?r=11344 
>>>
>>>
>>> the error message is right before some code that uses the 
>>> PersistenceUnitRootUrl whereas in a later version of the code the 
>>> message is immediately followed by "return".
>>>
>>> I looked in the geronimo code a bit more and haven't figured out how 
>>> this can be null.....
>>
>> Further investigation after some sleep revealed a bug right next to 
>> the previous one.  I've fixed it and pushed a new snapshot of 
>> geronimo-persistence-jpa10-2.2-20080229.155614-3.jar.  If you get this 
>> one in your g. repo just like you did with the previous jar you should 
>> be able to get farther.
>>
>> thanks
>> david jencks
>>
>>>
>>> Where in the ear is the persistence unit?
>>>
>>> thanks
>>> david jencks
>>>
>>>>
>>>> Thanks,
>>>> .Burt
>>>>
>>>>
>>>>
>>>> Jacek Laskowski wrote:
>>>>>
>>>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks <da...@yahoo.com>
>>>>> wrote:
>>>>>
>>>>>>  did you complain about this on the lists when you found the problem?
>>>>>
>>>>> Complain? No, not at all. Just put a note with other stuff and it
>>>>> might not get enough attention. See
>>>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>>>>
>>>>> Jacek
>>>>>
>>>>> -- 
>>>>> Jacek Laskowski
>>>>> http://www.JacekLaskowski.pl
>>>>>
>>>>>
>>>>
>>>> -- 
>>>> View this message in context: 
>>>> http://www.nabble.com/Geronimo-2.1-and-Seam-tp15621154s134p15749616.html 
>>>>
>>>> Sent from the Apache Geronimo - Users mailing list archive at 
>>>> Nabble.com.
>>>>
>>>
>>
>>

Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi Jay,

I downloaded the jar you referenced, and replaced the one that was
previously in the repository.

Thanks to you, David, and Jacek, I'm able to see the booking example
homepage!  Yes!

I'm working on now getting access to my Oracle database pool that I set up. 
When I go to the next page in the booking example (so save some data; user?)
I get the error...

'java.sql.SQLException - invalid oracle url specified:
OracleDataSource.makeURL'.

Not sure what's causing this...  I was wondering if anyone has seen this
before?

Thanks again,
.Burt

 

Jay D. McHugh-3 wrote:
> 
> Burt,
> 
> Grab a new copy of the geronimo-hibernate-transaction-manager-lookup jar 
> (later referred to as 'ghtml.jar') from 
> http://people.apache.org/~jaydm/hibernate and replace the file already 
> in your Geronimo repo.
> 
> Using a fresh trunk build and that recompiled jar file, I was able to 
> deploy the Seam jee5 booking example.
> 
> The old ghtml.jar was giving me unresolved import errors when I tried to 
>   deploy (I don't know why).
> 
> But now I am looking at the booking example (ooh pretty!).
> 
> Are you able to get the sample running?
> 
> 
> Jay
> 
> David Jencks wrote:
>> 
>> On Feb 28, 2008, at 10:01 PM, David Jencks wrote:
>> 
>>>
>>> On Feb 28, 2008, at 4:42 PM, Burt Prior wrote:
>>>
>>>>
>>>> Hi Jacek,
>>>>
>>>> I just noticed something in my last posting to David. In my error log I
>>>> posted:
>>>>
>>>> ...
>>>> 14:00:28,084 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [
>>>>         name: bookingDatabase
>>>>         ...]
>>>> 14:00:28,084 ERROR [Ejb3Configuration] Container is providing a null
>>>> PersistenceUnitRootUrl: discovery impossible
>>>> ...
>>>>
>>>> I noticed that in your "Running JBoss Seam 2 on Geronimo 2.1" 
>>>> article, when
>>>> you show the log, it has the same error as well.
>>>>
>>>> The difference appears to be, your example continues to load the
>>>> booking
>>>> application, and mine throws an exception on the next line:
>>>>
>>>> 14:00:28,115 ERROR [GBeanInstanceState] Error while starting; GBean 
>>>> is now
>>>> in the FAILED state:
>>>> abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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" 
>>>>
>>>> java.lang.NullPointerException
>>>>         at
>>>> org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)
>>>>         at
>>>> org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles(Ejb3Configuration.java:606) 
>>>>
>>>>         at
>>>> org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:351) 
>>>>
>>>>         at
>>>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126) 
>>>>
>>>>         at
>>>> org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:119) 
>>>>
>>>>
>>>> ...
>>>>
>>>> I thought it was interesting that although we recieved the same 
>>>> error, your
>>>> example continued to deploy and run, and mine stopped the deploy with 
>>>> those
>>>> exceptions.
>>>
>>> I browsed the hibernate code a bit and think that maybe you are using 
>>> different versions of hibernate?  In
>>>
>>> http://fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/java/org/hibernate/ejb/Ejb3Configuration.java?r=11344 
>>>
>>>
>>> the error message is right before some code that uses the 
>>> PersistenceUnitRootUrl whereas in a later version of the code the 
>>> message is immediately followed by "return".
>>>
>>> I looked in the geronimo code a bit more and haven't figured out how 
>>> this can be null.....
>> 
>> Further investigation after some sleep revealed a bug right next to the 
>> previous one.  I've fixed it and pushed a new snapshot of 
>> geronimo-persistence-jpa10-2.2-20080229.155614-3.jar.  If you get this 
>> one in your g. repo just like you did with the previous jar you should 
>> be able to get farther.
>> 
>> thanks
>> david jencks
>> 
>>>
>>> Where in the ear is the persistence unit?
>>>
>>> thanks
>>> david jencks
>>>
>>>>
>>>> Thanks,
>>>> .Burt
>>>>
>>>>
>>>>
>>>> Jacek Laskowski wrote:
>>>>>
>>>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks <da...@yahoo.com>
>>>>> wrote:
>>>>>
>>>>>>  did you complain about this on the lists when you found the problem?
>>>>>
>>>>> Complain? No, not at all. Just put a note with other stuff and it
>>>>> might not get enough attention. See
>>>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>>>>
>>>>> Jacek
>>>>>
>>>>> -- 
>>>>> Jacek Laskowski
>>>>> http://www.JacekLaskowski.pl
>>>>>
>>>>>
>>>>
>>>> -- 
>>>> View this message in context: 
>>>> http://www.nabble.com/Geronimo-2.1-and-Seam-tp15621154s134p15749616.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-tp15621154s134p15810073.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: Geronimo 2.1 and Seam

Posted by "Jay D. McHugh" <ja...@gmail.com>.
Burt,

Grab a new copy of the geronimo-hibernate-transaction-manager-lookup jar 
(later referred to as 'ghtml.jar') from 
http://people.apache.org/~jaydm/hibernate and replace the file already 
in your Geronimo repo.

Using a fresh trunk build and that recompiled jar file, I was able to 
deploy the Seam jee5 booking example.

The old ghtml.jar was giving me unresolved import errors when I tried to 
  deploy (I don't know why).

But now I am looking at the booking example (ooh pretty!).

Are you able to get the sample running?


Jay

David Jencks wrote:
> 
> On Feb 28, 2008, at 10:01 PM, David Jencks wrote:
> 
>>
>> On Feb 28, 2008, at 4:42 PM, Burt Prior wrote:
>>
>>>
>>> Hi Jacek,
>>>
>>> I just noticed something in my last posting to David. In my error log I
>>> posted:
>>>
>>> ...
>>> 14:00:28,084 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [
>>>         name: bookingDatabase
>>>         ...]
>>> 14:00:28,084 ERROR [Ejb3Configuration] Container is providing a null
>>> PersistenceUnitRootUrl: discovery impossible
>>> ...
>>>
>>> I noticed that in your "Running JBoss Seam 2 on Geronimo 2.1" 
>>> article, when
>>> you show the log, it has the same error as well.
>>>
>>> The difference appears to be, your example continues to load the booking
>>> application, and mine throws an exception on the next line:
>>>
>>> 14:00:28,115 ERROR [GBeanInstanceState] Error while starting; GBean 
>>> is now
>>> in the FAILED state:
>>> abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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" 
>>>
>>> java.lang.NullPointerException
>>>         at
>>> org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)
>>>         at
>>> org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles(Ejb3Configuration.java:606) 
>>>
>>>         at
>>> org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:351) 
>>>
>>>         at
>>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126) 
>>>
>>>         at
>>> org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:119) 
>>>
>>>
>>> ...
>>>
>>> I thought it was interesting that although we recieved the same 
>>> error, your
>>> example continued to deploy and run, and mine stopped the deploy with 
>>> those
>>> exceptions.
>>
>> I browsed the hibernate code a bit and think that maybe you are using 
>> different versions of hibernate?  In
>>
>> http://fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/java/org/hibernate/ejb/Ejb3Configuration.java?r=11344 
>>
>>
>> the error message is right before some code that uses the 
>> PersistenceUnitRootUrl whereas in a later version of the code the 
>> message is immediately followed by "return".
>>
>> I looked in the geronimo code a bit more and haven't figured out how 
>> this can be null.....
> 
> Further investigation after some sleep revealed a bug right next to the 
> previous one.  I've fixed it and pushed a new snapshot of 
> geronimo-persistence-jpa10-2.2-20080229.155614-3.jar.  If you get this 
> one in your g. repo just like you did with the previous jar you should 
> be able to get farther.
> 
> thanks
> david jencks
> 
>>
>> Where in the ear is the persistence unit?
>>
>> thanks
>> david jencks
>>
>>>
>>> Thanks,
>>> .Burt
>>>
>>>
>>>
>>> Jacek Laskowski wrote:
>>>>
>>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks <da...@yahoo.com>
>>>> wrote:
>>>>
>>>>>  did you complain about this on the lists when you found the problem?
>>>>
>>>> Complain? No, not at all. Just put a note with other stuff and it
>>>> might not get enough attention. See
>>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>>>
>>>> Jacek
>>>>
>>>> -- 
>>>> Jacek Laskowski
>>>> http://www.JacekLaskowski.pl
>>>>
>>>>
>>>
>>> -- 
>>> View this message in context: 
>>> http://www.nabble.com/Geronimo-2.1-and-Seam-tp15621154s134p15749616.html
>>> Sent from the Apache Geronimo - Users mailing list archive at 
>>> Nabble.com.
>>>
>>
> 
> 

Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
On Feb 28, 2008, at 10:01 PM, David Jencks wrote:

>
> On Feb 28, 2008, at 4:42 PM, Burt Prior wrote:
>
>>
>> Hi Jacek,
>>
>> I just noticed something in my last posting to David. In my error  
>> log I
>> posted:
>>
>> ...
>> 14:00:28,084 INFO  [Ejb3Configuration] Processing  
>> PersistenceUnitInfo [
>>         name: bookingDatabase
>>         ...]
>> 14:00:28,084 ERROR [Ejb3Configuration] Container is providing a null
>> PersistenceUnitRootUrl: discovery impossible
>> ...
>>
>> I noticed that in your "Running JBoss Seam 2 on Geronimo 2.1"  
>> article, when
>> you show the log, it has the same error as well.
>>
>> The difference appears to be, your example continues to load the  
>> booking
>> application, and mine throws an exception on the next line:
>>
>> 14:00:28,115 ERROR [GBeanInstanceState] Error while starting;  
>> GBean is now
>> in the FAILED state:
>> abstractName="org.jboss.seam.examples.jee5/jboss-seam- 
>> jee5/2.1.0.A1/ear?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"
>> java.lang.NullPointerException
>>         at
>> org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)
>>         at
>> org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles 
>> (Ejb3Configuration.java:606)
>>         at
>> org.hibernate.ejb.Ejb3Configuration.configure 
>> (Ejb3Configuration.java:351)
>>         at
>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFa 
>> ctory(HibernatePersistence.java:126)
>>         at
>> org.apache.geronimo.persistence.PersistenceUnitGBean.<init> 
>> (PersistenceUnitGBean.java:119)
>>
>> ...
>>
>> I thought it was interesting that although we recieved the same  
>> error, your
>> example continued to deploy and run, and mine stopped the deploy  
>> with those
>> exceptions.
>
> I browsed the hibernate code a bit and think that maybe you are  
> using different versions of hibernate?  In
>
> http://fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/ 
> java/org/hibernate/ejb/Ejb3Configuration.java?r=11344
>
> the error message is right before some code that uses the  
> PersistenceUnitRootUrl whereas in a later version of the code the  
> message is immediately followed by "return".
>
> I looked in the geronimo code a bit more and haven't figured out  
> how this can be null.....

Further investigation after some sleep revealed a bug right next to  
the previous one.  I've fixed it and pushed a new snapshot of  
geronimo-persistence-jpa10-2.2-20080229.155614-3.jar.  If you get  
this one in your g. repo just like you did with the previous jar you  
should be able to get farther.

thanks
david jencks

>
> Where in the ear is the persistence unit?
>
> thanks
> david jencks
>
>>
>> Thanks,
>> .Burt
>>
>>
>>
>> Jacek Laskowski wrote:
>>>
>>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks  
>>> <da...@yahoo.com>
>>> wrote:
>>>
>>>>  did you complain about this on the lists when you found the  
>>>> problem?
>>>
>>> Complain? No, not at all. Just put a note with other stuff and it
>>> might not get enough attention. See
>>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>>
>>> Jacek
>>>
>>> -- 
>>> Jacek Laskowski
>>> http://www.JacekLaskowski.pl
>>>
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/Geronimo-2.1- 
>> and-Seam-tp15621154s134p15749616.html
>> Sent from the Apache Geronimo - Users mailing list archive at  
>> Nabble.com.
>>
>


Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
On Feb 28, 2008, at 4:42 PM, Burt Prior wrote:

>
> Hi Jacek,
>
> I just noticed something in my last posting to David. In my error  
> log I
> posted:
>
> ...
> 14:00:28,084 INFO  [Ejb3Configuration] Processing  
> PersistenceUnitInfo [
>         name: bookingDatabase
>         ...]
> 14:00:28,084 ERROR [Ejb3Configuration] Container is providing a null
> PersistenceUnitRootUrl: discovery impossible
> ...
>
> I noticed that in your "Running JBoss Seam 2 on Geronimo 2.1"  
> article, when
> you show the log, it has the same error as well.
>
> The difference appears to be, your example continues to load the  
> booking
> application, and mine throws an exception on the next line:
>
> 14:00:28,115 ERROR [GBeanInstanceState] Error while starting; GBean  
> is now
> in the FAILED state:
> abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ 
> ear?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"
> java.lang.NullPointerException
>         at
> org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)
>         at
> org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles 
> (Ejb3Configuration.java:606)
>         at
> org.hibernate.ejb.Ejb3Configuration.configure 
> (Ejb3Configuration.java:351)
>         at
> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFac 
> tory(HibernatePersistence.java:126)
>         at
> org.apache.geronimo.persistence.PersistenceUnitGBean.<init> 
> (PersistenceUnitGBean.java:119)
>
> ...
>
> I thought it was interesting that although we recieved the same  
> error, your
> example continued to deploy and run, and mine stopped the deploy  
> with those
> exceptions.

I browsed the hibernate code a bit and think that maybe you are using  
different versions of hibernate?  In

http://fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/ 
java/org/hibernate/ejb/Ejb3Configuration.java?r=11344

the error message is right before some code that uses the  
PersistenceUnitRootUrl whereas in a later version of the code the  
message is immediately followed by "return".

I looked in the geronimo code a bit more and haven't figured out how  
this can be null.....

Where in the ear is the persistence unit?

thanks
david jencks

>
> Thanks,
> .Burt
>
>
>
> Jacek Laskowski wrote:
>>
>> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks  
>> <da...@yahoo.com>
>> wrote:
>>
>>>  did you complain about this on the lists when you found the  
>>> problem?
>>
>> Complain? No, not at all. Just put a note with other stuff and it
>> might not get enough attention. See
>> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
>>
>> Jacek
>>
>> -- 
>> Jacek Laskowski
>> http://www.JacekLaskowski.pl
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Geronimo-2.1- 
> and-Seam-tp15621154s134p15749616.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi Jacek,

I just noticed something in my last posting to David. In my error log I
posted:

...
14:00:28,084 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [
        name: bookingDatabase
        ...]
14:00:28,084 ERROR [Ejb3Configuration] Container is providing a null
PersistenceUnitRootUrl: discovery impossible 
...

I noticed that in your "Running JBoss Seam 2 on Geronimo 2.1" article, when
you show the log, it has the same error as well.

The difference appears to be, your example continues to load the booking
application, and mine throws an exception on the next line:

14:00:28,115 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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"
java.lang.NullPointerException
        at
org.jboss.util.file.ArchiveBrowser.getBrowser(ArchiveBrowser.java:62)
        at
org.hibernate.ejb.Ejb3Configuration.scanForXmlFiles(Ejb3Configuration.java:606)
        at
org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:351)
        at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
        at
org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:119)

...

I thought it was interesting that although we recieved the same error, your
example continued to deploy and run, and mine stopped the deploy with those
exceptions.

Thanks,
.Burt



Jacek Laskowski wrote:
> 
> On Wed, Feb 27, 2008 at 5:51 PM, David Jencks <da...@yahoo.com>
> wrote:
> 
>>  did you complain about this on the lists when you found the problem?
> 
> Complain? No, not at all. Just put a note with other stuff and it
> might not get enough attention. See
> http://www.nabble.com/forum/ViewPost.jtp?post=13785778.
> 
> Jacek
> 
> -- 
> Jacek Laskowski
> http://www.JacekLaskowski.pl
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Wed, Feb 27, 2008 at 5:51 PM, David Jencks <da...@yahoo.com> wrote:

>  did you complain about this on the lists when you found the problem?

Complain? No, not at all. Just put a note with other stuff and it
might not get enough attention. See
http://www.nabble.com/forum/ViewPost.jtp?post=13785778.

Jacek

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

Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
On Feb 27, 2008, at 5:36 PM, Jacek Laskowski wrote:

> On Wed, Feb 27, 2008 at 5:29 PM, Jacek Laskowski  
> <ja...@laskowski.net.pl> wrote:
>
>>  Oh, yeah - I can remember that NPE. I remember I had to download
>>  Hibernate and patch it before moving on. Since I didn't describe  
>> it in
>>  the doc I had to work it around somehow. Can't remember exactly.
>>  Search in the Geronimo dev archive. It could contain the answer.  
>> I'll
>>  do the same too.
>
> Gotcha! You guys don't seem to read the docs carefully. It *is*
> described in the documentation -
> http://cwiki.apache.org/GMOxSAMPLES/running-jboss-seam-200ga-on- 
> geronimo-21.html.
> Look for Ejb3Configuration.patch.
>

Aaaaacckk!  This is an easy to fix geronimo bug, https:// 
issues.apache.org/jira/browse/GERONIMO-3880.

did you complain about this on the lists when you found the problem?

thanks
david jencks

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



Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Wed, Feb 27, 2008 at 5:29 PM, Jacek Laskowski <ja...@laskowski.net.pl> wrote:

>  Oh, yeah - I can remember that NPE. I remember I had to download
>  Hibernate and patch it before moving on. Since I didn't describe it in
>  the doc I had to work it around somehow. Can't remember exactly.
>  Search in the Geronimo dev archive. It could contain the answer. I'll
>  do the same too.

Gotcha! You guys don't seem to read the docs carefully. It *is*
described in the documentation -
http://cwiki.apache.org/GMOxSAMPLES/running-jboss-seam-200ga-on-geronimo-21.html.
Look for Ejb3Configuration.patch.

Jacek

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

Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Wed, Feb 27, 2008 at 3:40 PM, Burt Prior <bp...@cisco.com> wrote:

>  15:19:54,972 ERROR [GBeanInstanceState] Error while starting; GBean is now
>  in the FAILED state:
>  abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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"
>  java.lang.NullPointerException
>         at
>  org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:346)
>         at
>  org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)

Oh, yeah - I can remember that NPE. I remember I had to download
Hibernate and patch it before moving on. Since I didn't describe it in
the doc I had to work it around somehow. Can't remember exactly.
Search in the Geronimo dev archive. It could contain the answer. I'll
do the same too.

Jacek

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

Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
Hi Burt,

Maybe the threads got crossed.... after Jacek pointed out this patch  
I decided this was a geronimo bug (GERONIMO-3880) and fixed it so you  
should not need to patch hibernate.  I think this will work:

Anyway I think it's fixed now and I pushed the jar for trunk....    
org/apache/geronimo/modules/geronimo-persistence-jpa10/2.2-SNAPSHOT/ 
geronimo-persistence-jpa10-2.2-20080228.021634-2.jar
to the apache snapshot repo.

If you install this in your geronimo repo you should be able to get  
past this problem.  It might be simpler to name it geronimo- 
persistence-jpa10-2.1.jar although it would be better to keep its  
real name and put it in the right place and if necessary use an  
artifact_alias entry to get geronimo to find it.

entries would look like
org.apache.geronimo.modules/geronimo-persistence-jpa10// 
jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
SNAPSHOT/jar
org.apache.geronimo.modules/geronimo-persistence-jpa10/2.1/ 
jar=org.apache.geronimo.modules/geronimo-persistence-jpa10/2.2- 
SNAPSHOT/jar


Does this make sense?

thanks
david jencks

On Feb 28, 2008, at 9:38 AM, Burt Prior wrote:

>
> Hi David,
>
> I'm using the latest production Hibernate code from:
> Hibernate Core 3.2
> Hibernate Annotations 3.3.0.GA
> Hibernate EntityManager 3.3.1.GA
> Hibernate Tools 3.2.0.GA
> Hibernate Validator 3.0.0.GA
>
> Here was the patch i did to
> C:\hibernate-entitymanager-3.3.1.GA\src\org\hibernate\ejb 
> \Ejb3Configuration.java:
>
> ...
>
> 344:   boolean[] detectArtifactForOtherJars = getDetectedArtifacts(
> info.getProperties(), null, false );
> 345:   boolean[] detectArtifactForMainJar = getDetectedArtifacts(
> info.getProperties(), null, info.excludeUnlistedClasses() );
> 346:			
> 347:  // 022508: bprior@cisco.com: added patch to avoid NPE when  
> running
> Geronimo.
> 348:			
> 349:  if (info.getJarFileUrls() != null) {
> 350:			
> 351:   for ( URL jar : info.getJarFileUrls() ) {
> 352:	   if ( detectArtifactForOtherJars[0] ) scanForClasses( jar,  
> packages,
> entities );
> 353:	   scanForXmlFiles( jar, hbmFiles, XML_SEARCH.getType(
> detectArtifactForOtherJars[1], searchForORMFiles ) );
> 354:   }
> 355:			
> 356:}
> 357:
> 358:			if ( detectArtifactForMainJar[0] ) scanForClasses(
> info.getPersistenceUnitRootUrl(), packages, entities );
> 359:			scanForXmlFiles( info.getPersistenceUnitRootUrl(), hbmFiles,
> XML_SEARCH.getType( detectArtifactForMainJar[1],  
> searchForORMFiles ) );
> ...
>
> This code section is a bit different than Jacek's example in this  
> version of
> Hibernate.
>
> Or perhaps I didn't apply the patch correctly.  I did see the updated
> hibernate-entitymanager.jar in:
> C:\jboss-seam-2.1.0.A1\lib\hibernate-entitymanager.jar that I  
> assume the
> booking example is using instead of:
> C:\hibernate-entitymanager-3.3.1.GA\hibernate-entitymanager.jar
>
> Thanks,
> .Burt
>
>
> djencks wrote:
>>
>>
>> On Feb 27, 2008, at 3:40 PM, Burt Prior wrote:
>>
>> Do you know what version of hibernate is in use?  I looked for the
>> source code that could cause this but so far it makes no sense to
>> me.  If you can debug here and poke around in the
>> PersistenceUnitInfoImpl to see if something is null or gives an
>> NPE??? that would be helpful.  My best guess from http://
>> fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/java/org/
>> hibernate/ejb/Ejb3Configuration.java?r=11344 is that the
>> info.getJarFileURLs() is returning null but I can't see how that
>> could be happening.
>>
>>
>>> java.lang.NullPointerException
>>> 	at
>>> org.hibernate.ejb.Ejb3Configuration.configure
>>> (Ejb3Configuration.java:346)
>>> 	at
>>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerF 
>>> ac
>>> tory(HibernatePersistence.java:126)
>>> 	at
>>> org.apache.geronimo.persistence.PersistenceUnitGBean.<init>
>>> (PersistenceUnitGBean.java:117)
>>
>>
>> thanks
>> david jencks
>>
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/Geronimo-2.1- 
> and-Seam-tp15621154s134p15741787.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>



Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David,

I'm using the latest production Hibernate code from:
Hibernate Core 3.2
Hibernate Annotations 3.3.0.GA
Hibernate EntityManager 3.3.1.GA
Hibernate Tools 3.2.0.GA
Hibernate Validator 3.0.0.GA

Here was the patch i did to
C:\hibernate-entitymanager-3.3.1.GA\src\org\hibernate\ejb\Ejb3Configuration.java:

...

344:   boolean[] detectArtifactForOtherJars = getDetectedArtifacts(
info.getProperties(), null, false );
345:   boolean[] detectArtifactForMainJar = getDetectedArtifacts(
info.getProperties(), null, info.excludeUnlistedClasses() );
346:			
347:  // 022508: bprior@cisco.com: added patch to avoid NPE when running
Geronimo.
348:			
349:  if (info.getJarFileUrls() != null) {
350:			
351:   for ( URL jar : info.getJarFileUrls() ) {
352:	   if ( detectArtifactForOtherJars[0] ) scanForClasses( jar, packages,
entities );
353:	   scanForXmlFiles( jar, hbmFiles, XML_SEARCH.getType(
detectArtifactForOtherJars[1], searchForORMFiles ) );
354:   }
355:			   
356:}
357:
358:			if ( detectArtifactForMainJar[0] ) scanForClasses(
info.getPersistenceUnitRootUrl(), packages, entities );
359:			scanForXmlFiles( info.getPersistenceUnitRootUrl(), hbmFiles,
XML_SEARCH.getType( detectArtifactForMainJar[1], searchForORMFiles ) );
...

This code section is a bit different than Jacek's example in this version of
Hibernate.

Or perhaps I didn't apply the patch correctly.  I did see the updated
hibernate-entitymanager.jar in:
C:\jboss-seam-2.1.0.A1\lib\hibernate-entitymanager.jar that I assume the
booking example is using instead of:
C:\hibernate-entitymanager-3.3.1.GA\hibernate-entitymanager.jar

Thanks,
.Burt


djencks wrote:
> 
> 
> On Feb 27, 2008, at 3:40 PM, Burt Prior wrote:
> 
> Do you know what version of hibernate is in use?  I looked for the  
> source code that could cause this but so far it makes no sense to  
> me.  If you can debug here and poke around in the  
> PersistenceUnitInfoImpl to see if something is null or gives an  
> NPE??? that would be helpful.  My best guess from http:// 
> fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/java/org/ 
> hibernate/ejb/Ejb3Configuration.java?r=11344 is that the  
> info.getJarFileURLs() is returning null but I can't see how that  
> could be happening.
> 
> 
>> java.lang.NullPointerException
>> 	at
>> org.hibernate.ejb.Ejb3Configuration.configure 
>> (Ejb3Configuration.java:346)
>> 	at
>> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFac 
>> tory(HibernatePersistence.java:126)
>> 	at
>> org.apache.geronimo.persistence.PersistenceUnitGBean.<init> 
>> (PersistenceUnitGBean.java:117)
> 
> 
> thanks
> david jencks
> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
On Feb 27, 2008, at 3:40 PM, Burt Prior wrote:

Do you know what version of hibernate is in use?  I looked for the  
source code that could cause this but so far it makes no sense to  
me.  If you can debug here and poke around in the  
PersistenceUnitInfoImpl to see if something is null or gives an  
NPE??? that would be helpful.  My best guess from http:// 
fisheye.jboss.com/browse/Hibernate/entitymanager/trunk/src/java/org/ 
hibernate/ejb/Ejb3Configuration.java?r=11344 is that the  
info.getJarFileURLs() is returning null but I can't see how that  
could be happening.


> java.lang.NullPointerException
> 	at
> org.hibernate.ejb.Ejb3Configuration.configure 
> (Ejb3Configuration.java:346)
> 	at
> org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFac 
> tory(HibernatePersistence.java:126)
> 	at
> org.apache.geronimo.persistence.PersistenceUnitGBean.<init> 
> (PersistenceUnitGBean.java:117)


thanks
david jencks


Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi David and Jacek,

> Possibly if you looked in the server log there would be more information.

That's an excellent suggestion... I didn't think of that...  I tailed
geronimo.log and here's what I found right after a deploy. (trimmed, but
almost all of it):

The surprising part (except for the errors) is where OpenEJB is Auto
Deploying the '...Action' ejb's.

15:18:35,970 INFO  [Log4jService]
----------------------------------------------
15:18:35,970 INFO  [Log4jService] Started Logging Service
15:18:35,970 INFO  [Log4jService] Runtime Information:
15:18:35,970 INFO  [Log4jService]   Install Directory =
C:\geronimo-jetty6-javaee5-2.1
15:18:35,970 INFO  [Log4jService]   JVM in use = Sun Microsystems Inc. Java
1.6.0_01
15:18:35,970 INFO  [Log4jService] Java Information:
15:18:35,970 INFO  [Log4jService]   System property [java.runtime.name]  =
Java(TM) SE Runtime Environment
15:18:35,970 INFO  [Log4jService]   System property [java.runtime.version] 
= 1.6.0_01-b06
15:18:35,970 INFO  [Log4jService]   System property [os.name]             =
Windows XP
15:18:35,970 INFO  [Log4jService]   System property [os.version]          =
5.1
15:18:35,970 INFO  [Log4jService]   System property [sun.os.patch.level]  =
Service Pack 2
15:18:35,970 INFO  [Log4jService]   System property [os.arch]             =
x86
15:18:35,970 INFO  [Log4jService]   System property [java.class.version]  =
50.0
15:18:35,970 INFO  [Log4jService]   System property [locale]              =
en_US
15:18:35,970 INFO  [Log4jService]   System property [unicode.encoding]    =
UnicodeLittle
15:18:35,970 INFO  [Log4jService]   System property [file.encoding]       =
Cp1252
15:18:35,970 INFO  [Log4jService]   System property [java.vm.name]        =
Java HotSpot(TM) Client VM
15:18:35,970 INFO  [Log4jService]   System property [java.vm.vendor]      =
Sun Microsystems Inc.
15:18:35,970 INFO  [Log4jService]   System property [java.vm.version]     =
1.6.0_01-b06
15:18:35,970 INFO  [Log4jService]   System property [java.vm.info]        =
mixed mode
15:18:35,970 INFO  [Log4jService]   System property [java.home]           =
C:\Program Files\Java\jdk1.6.0_01\jre
15:18:35,970 INFO  [Log4jService]   System property [java.classpath]      =
null
15:18:35,970 INFO  [Log4jService]   System property [java.library.path]   =
C:\Program
Files\Java\jdk1.6.0_01\jre\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\oracle\ora81\bin\;C:\Program
Files\Oracle\jre\1.1.7\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program
Files\QuickTime\QTSystem\;C:\Program Files\Credant\CMG Shield;C:\Program
Files\Diskeeper Corporation\Diskeeper\;C:\Program
Files\Java\jdk1.6.0_01\bin;C:\Sun\AppServer\bin;C:\Program
Files\Subversion\bin;c:\air\bin;C:\apache-ant-1.7.0\bin;C:\db-derby-10.3.1.4-bin\bin;C:\apache-maven-2.0.8\bin;C:\Program
Files\ssh communications security\ssh Secure Shell
15:18:35,970 INFO  [Log4jService]   System property [java.endorsed.dirs]  =
C:\geronimo-jetty6-javaee5-2.1\lib\endorsed;C:\Program
Files\Java\jdk1.6.0_01\jre\lib\endorsed
15:18:35,970 INFO  [Log4jService]   System property [java.ext.dirs]       =
C:\Program Files\Java\jdk1.6.0_01\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
15:18:35,970 INFO  [Log4jService]   System property [sun.boot.class.path] =
C:\geronimo-jetty6-javaee5-2.1\lib\endorsed\yoko-rmi-spec-1.0-r615303.jar;C:\geronimo-jetty6-javaee5-2.1\lib\endorsed\yoko-spec-corba-1.0-r615303.jar;C:\Program
Files\Java\jdk1.6.0_01\jre\lib\resources.jar;C:\Program
Files\Java\jdk1.6.0_01\jre\lib\rt.jar;C:\Program
Files\Java\jdk1.6.0_01\jre\lib\sunrsasign.jar;C:\Program
Files\Java\jdk1.6.0_01\jre\lib\jsse.jar;C:\Program
Files\Java\jdk1.6.0_01\jre\lib\jce.jar;C:\Program
Files\Java\jdk1.6.0_01\jre\lib\charsets.jar;C:\Program
Files\Java\jdk1.6.0_01\jre\classes
15:18:35,970 INFO  [Log4jService]
----------------------------------------------
15:18:37,939 INFO  [KernelContextGBean] bound gbean
org.apache.geronimo.framework/rmi-naming/2.1/car?ServiceModule=org.apache.geronimo.framework/rmi-naming/2.1/car,j2eeType=Context,name=JavaCompContext
at name java:comp
15:18:37,939 INFO  [KernelContextGBean] bound gbean
org.apache.geronimo.framework/rmi-naming/2.1/car?ServiceModule=org.apache.geronimo.framework/rmi-naming/2.1/car,j2eeType=Context,name=JavaContext
at name java:
15:18:37,939 INFO  [KernelContextGBean] bound gbean
org.apache.geronimo.framework/rmi-naming/2.1/car?ServiceModule=org.apache.geronimo.framework/rmi-naming/2.1/car,j2eeType=Context,name=GeronimoContext
at name ger:
15:18:41,486 INFO  [KernelContextGBean] bound gbean
org.apache.geronimo.configs/transaction/2.1/car?ServiceModule=org.apache.geronimo.configs/transaction/2.1/car,j2eeType=Context,name=ResourceBindings
at name jca:
15:18:41,751 INFO  [log] Logging to
org.slf4j.impl.JCLLoggerAdapter(org.mortbay.log) via
org.mortbay.log.Slf4jLog
15:18:41,751 INFO  [log] jetty-6.1.7

...  start interesting section of log, and the first error...

15:19:16,080 INFO  [KernelContextGBean] bound gbean
console.dbpool/ElvisPool/1.0/rar?J2EEApplication=null,JCAConnectionFactory=ElvisPool,JCAResource=console.dbpool/ElvisPool/1.0/rar,ResourceAdapter=console.dbpool/ElvisPool/1.0/rar,ResourceAdapterModule=console.dbpool/ElvisPool/1.0/rar,j2eeType=JCAManagedConnectionFactory,name=ElvisPool
at name console.dbpool/ElvisPool/JCAManagedConnectionFactory/ElvisPool
15:19:38,206 INFO  [config] Configuring Service(id=Default Stateless
Container, type=Container, provider-id=Default Stateless Container)
15:19:38,206 INFO  [config] Configuring Service(id=Default Stateful
Container, type=Container, provider-id=Default Stateful Container)
15:19:38,206 INFO  [config] Configuring Service(id=Default BMP Container,
type=Container, provider-id=Default BMP Container)
15:19:38,206 INFO  [config] Configuring Service(id=Default CMP Container,
type=Container, provider-id=Default CMP Container)
15:19:38,206 INFO  [config] Configuring app:
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear
15:19:48,409 INFO  [OpenEJB] Auto-deploying ejb AuthenticatorAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/AuthenticatorAction)
15:19:48,409 INFO  [OpenEJB] Auto-deploying ejb BookingListAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/BookingListAction)
15:19:48,409 INFO  [OpenEJB] Auto-deploying ejb ChangePasswordAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/ChangePasswordAction)
15:19:48,409 INFO  [OpenEJB] Auto-deploying ejb HotelBookingAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelBookingAction)
15:19:48,409 INFO  [OpenEJB] Auto-deploying ejb HotelSearchingAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/HotelSearchingAction)
15:19:48,409 INFO  [OpenEJB] Auto-deploying ejb RegisterAction:
EjbDeployment(deployment-id=jboss-seam-jee5.jar/RegisterAction)
15:19:48,409 INFO  [OpenEJB] Auto-deploying ejb TimerServiceDispatcher:
EjbDeployment(deployment-id=jboss-seam.jar/TimerServiceDispatcher)
15:19:48,409 INFO  [OpenEJB] Auto-deploying ejb EjbSynchronizations:
EjbDeployment(deployment-id=jboss-seam.jar/EjbSynchronizations)
15:19:48,456 INFO  [config] Loaded Module:
org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear
15:19:54,066 INFO  [Version] Hibernate Annotations 3.3.0.GA
15:19:54,113 INFO  [Environment] Hibernate 3.2.4.sp1
15:19:54,566 INFO  [Environment] hibernate.properties not found
15:19:54,581 INFO  [Environment] Bytecode provider name : cglib
15:19:54,581 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling
15:19:54,847 INFO  [Version] Hibernate EntityManager 3.3.1.GA
15:19:54,941 INFO  [Ejb3Configuration] Processing PersistenceUnitInfo [
	name: bookingDatabase
	...]
15:19:54,972 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="org.jboss.seam.examples.jee5/jboss-seam-jee5/2.1.0.A1/ear?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"
java.lang.NullPointerException
	at
org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:346)
	at
org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:126)
	at
org.apache.geronimo.persistence.PersistenceUnitGBean.<init>(PersistenceUnitGBean.java:117)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:948)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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)
15:19:54,972 INFO  [KernelContextGBean] bound gbean
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,JCAConnectionFactory=ElvisPool,JCAResource=seam-jee5-dbpool,ResourceAdapter=seam-jee5-dbpool,ResourceAdapterModule=seam-jee5-dbpool,j2eeType=JCAManagedConnectionFactory,name=ElvisPool
at name
org.jboss.seam.examples.jee5/jboss-seam-jee5/JCAManagedConnectionFactory/ElvisPool
15:19:54,972 INFO  [startup] Assembling app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18755.jar
15:19:58,332 WARN  [Enhance] Detected the following possible violations of
the restrictions placed on property access persistent types:
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"hotel" is accessed directly in method "getDescription" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"hotel" is accessed directly in method "getDescription" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"hotel" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"hotel" is accessed directly in method "getTotal" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"checkinDate" is accessed directly in method "getNights" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"user" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Booking".
"org.jboss.seam.example.booking.Booking" uses property access, but its field
"checkoutDate" is accessed directly in method "getNights" defined in
"org.jboss.seam.example.booking.Booking".
15:19:58,441 WARN  [Enhance] Detected the following possible violations of
the restrictions placed on property access persistent types:
"org.jboss.seam.example.booking.Hotel" uses property access, but its field
"address" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Hotel".
"org.jboss.seam.example.booking.Hotel" uses property access, but its field
"city" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Hotel".
"org.jboss.seam.example.booking.Hotel" uses property access, but its field
"zip" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Hotel".
"org.jboss.seam.example.booking.Hotel" uses property access, but its field
"name" is accessed directly in method "toString" defined in
"org.jboss.seam.example.booking.Hotel".
15:19:58,457 INFO  [startup] Undeploying app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18755.jar
15:19:58,472 ERROR [EjbModuleImpl] Module does not exist.
org.apache.openejb.NoSuchApplicationException:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18755.jar
	at
org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:595)
	at
org.apache.geronimo.openejb.OpenEjbSystemGBean.removeEjbJar(OpenEjbSystemGBean.java:397)
	at org.apache.geronimo.openejb.EjbModuleImpl.stop(EjbModuleImpl.java:128)
	at
org.apache.geronimo.openejb.EjbModuleImplGBean.doFail(EjbModuleImplGBean.java:47)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:1028)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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)
15:19:58,472 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="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"
org.apache.openejb.OpenEJBException: createApplication.failed
[C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18755.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'
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:588)
	at
org.apache.openejb.assembler.classic.Assembler.createEjbJar(Assembler.java:371)
	at
org.apache.geronimo.openejb.OpenEjbSystemGBean.createEjbJar(OpenEjbSystemGBean.java:390)
	at org.apache.geronimo.openejb.EjbModuleImpl.start(EjbModuleImpl.java:123)
	at
org.apache.geronimo.openejb.EjbModuleImplGBean.doStart(EjbModuleImplGBean.java:39)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:998)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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.openejb.OpenEJBException: 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'
	at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:64)
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:491)
	... 63 more
Caused by: org.apache.openejb.OpenEJBException: PersistenceUnit
'bookingDatabase 91456273' not found for EXTENDED ref
'org.jboss.seam.example.booking.HotelBookingAction/em'
	at
org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:197)
	at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:52)
	... 64 more
15:19:58,472 INFO  [startup] Assembling app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18756.jar
15:19:58,535 INFO  [startup] Jndi(name=TimerServiceDispatcherLocal) -->
Ejb(deployment-id=jboss-seam.jar/TimerServiceDispatcher)
15:19:58,535 INFO  [startup] Jndi(name=EjbSynchronizationsLocal) -->
Ejb(deployment-id=jboss-seam.jar/EjbSynchronizations)
15:19:58,550 INFO  [startup] Created
Ejb(deployment-id=jboss-seam.jar/TimerServiceDispatcher,
ejb-name=TimerServiceDispatcher, container=Default Stateless Container)
15:19:58,550 INFO  [startup] Created
Ejb(deployment-id=jboss-seam.jar/EjbSynchronizations,
ejb-name=EjbSynchronizations, container=Default Stateful Container)
15:19:58,550 INFO  [startup] Deployed
Application(path=C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18756.jar)
15:19:58,550 INFO  [startup] Assembling app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18755.jar
15:19:58,550 INFO  [startup] Undeploying app:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18755.jar
15:19:58,550 ERROR [EjbModuleImpl] Module does not exist.

org.apache.openejb.NoSuchApplicationException:
C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18755.jar
	at
org.apache.openejb.assembler.classic.Assembler.destroyApplication(Assembler.java:595)
	at
org.apache.geronimo.openejb.OpenEjbSystemGBean.removeEjbJar(OpenEjbSystemGBean.java:397)
	at org.apache.geronimo.openejb.EjbModuleImpl.stop(EjbModuleImpl.java:128)
	at
org.apache.geronimo.openejb.EjbModuleImplGBean.doFail(EjbModuleImplGBean.java:47)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:1028)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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)
15:19:58,550 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="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"
org.apache.openejb.OpenEJBException: createApplication.failed
[C:\geronimo-jetty6-javaee5-2.1\var\temp\geronimo-deploymentUtil18755.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'
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:588)
	at
org.apache.openejb.assembler.classic.Assembler.createEjbJar(Assembler.java:371)
	at
org.apache.geronimo.openejb.OpenEjbSystemGBean.createEjbJar(OpenEjbSystemGBean.java:390)
	at org.apache.geronimo.openejb.EjbModuleImpl.start(EjbModuleImpl.java:123)
	at
org.apache.geronimo.openejb.EjbModuleImplGBean.doStart(EjbModuleImplGBean.java:39)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:998)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:534)
	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.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 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.openejb.OpenEJBException: 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'
	at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:64)
	at
org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:491)
	... 54 more
Caused by: org.apache.openejb.OpenEJBException: PersistenceUnit
'bookingDatabase 91456273' not found for EXTENDED ref
'org.jboss.seam.example.booking.HotelBookingAction/em'
	at
org.apache.openejb.assembler.classic.EnterpriseBeanBuilder.build(EnterpriseBeanBuilder.java:197)
	at
org.apache.openejb.assembler.classic.EjbJarBuilder.build(EjbJarBuilder.java:52)
	... 55 more


... no more errors... just INFO's...


Looking at the log was helpful, but I'm still not sure what's going on.

Suggestions?

Thanks again,
.Burt




djencks wrote:
> 
> 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:@englearn-app1@cisco.com: 
>> 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 <bp...@cisco.com> 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.
>>
> 
> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by David Jencks <da...@yahoo.com>.
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:@englearn-app1@cisco.com: 
> 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 <bp...@cisco.com> 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.
>



Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
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.GeronimoTransactionManagerLookup"
/>
          </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:@englearn-app1@cisco.com: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.startConfiguration(SimpleConfigurationManager.java:551)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.startConfigurationGBeans(ConfigurationUtil.java:522)
        at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:187)
        at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(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.startConfigurationGBeans(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 <bp...@cisco.com> 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.


Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Tue, Feb 26, 2008 at 4:29 PM, Burt Prior <bp...@cisco.com> 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

Re: Geronimo 2.1 and Seam

Posted by Burt Prior <bp...@cisco.com>.
Hi Jay,

Thanks very much for the jar file.  That helped a great deal.

I'm stuck...

I am now *almost* able to deploy the Seam 'booking' example.  I'm having
real problems with the geronimo deployment plan (The Plan) listed in the
article.

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.

Can you give me some pointers/examples of setting up a deployment plan to
use hibernate and oracle?

Thanks,
.Burt





Jay D. McHugh-3 wrote:
> 
> Hello Burt,
> 
> Answers inline
> 
> Burt Prior (bprior) wrote:
>> Hi Geronimo Team,
>>  
>> I hope I'm directing this question correctly.
>>  
>> First, thank you all for your excellent work on Geronimo 2.1.  Our team
>> has standardized on Geronimo at our large enterprise, and we think its
>> the best app server in the industry.
>>   
> Thanks!
>>  
>> We are in current development of an JSF/EJB3/OpenJPA application, and we
>> would very much like to use Seam (2).
>>  
>> For the past few days we have been trying (without much luck) to
>> configure Geronimo to work with Seam and Hibernate; we would prefer
>> OpenJPA as the persistence provider, but it appears impossible to use
>> with Seam.
>>  
>> I've tried to work thru:
>> http://cwiki.apache.org/GMOxSAMPLES/running-jboss-seam-200ga-on-geronimo
>> -21.html but the maven project to download the Hibernate Transaction
>> Manager appears not to work, and we are finding the instructions a bit
>> hard to follow. (we don't use Maven, we are Subversion users)
>> $ mvn archetype:create -DgroupId=org.apache.geronimo.hibernate
>> -DartifactId=geronimo-hibernate-transaction-manager-lookup
>>   
> I have updated the directions to correspond to the released Geronimo 2.1 
> version.  But, I have not made it through testing all of the directions 
> after creating the transaction manager jar.
> 
> For your convenience, here is a link to the jar that I built:
> http://people.apache.org/~jaydm/hibernate/geronimo-hibernate-transaction-manager-lookup-1.0-SNAPSHOT.jar
>>  
>> Question 1:
>>  
>> Is there a Geronimo 2.1 build that already includes everything needed to
>> run Seam 2 or Hibernate that I can download, so we do not have to
>> manually patch it?
>>   
> Not that I am aware of.
>>  
>> Question 2:
>>  
>> Is there any advice/guidance you can give my team regarding setting up
>> Geronimo 2.1 to use Seam 2?  We would very much like integrate Seam into
>> Geronimo for our long term application development.
>>   
> I think that after the tutorial has been re-tested for the released 
> Geronimo 2.1 version - that tutorial should be all you need to set up 
> Geronimo for Seam.
>>  
>> Thanks for your time and great work,
>>  
>> Burt Prior
>> IT Engineer
>> bprior@cisco.com
>> Office: 408.853.4199
>>  
>>
>>   
> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Thu, Jun 19, 2008 at 3:04 PM, Kevan Miller <ke...@gmail.com> wrote:

> I think that's a good idea. Any volunteers?

I'd go that route if/when it's agreed it's really a good approach. Is
it? Is the plugin architecture meant for stuff like this? Can someone
confirm it?

Jacek

-- 
Jacek Laskowski
Notatnik Projektanta Java EE - http://www.JacekLaskowski.pl

Re: Geronimo 2.1 and Seam

Posted by Kevan Miller <ke...@gmail.com>.
On Jun 19, 2008, at 7:35 AM, Jacek Laskowski wrote:

> On Thu, Jun 19, 2008 at 6:36 AM, steausti <st...@cisco.com> wrote:
>
>> I work with Burt and we are moving to Geronimo 2.1.1 and we have  
>> found that
>> many of the initial issues we encountered are fixed in this latest  
>> version.
>
> I'm working with the latest 2.0.3.CR1 release of JBoss Seam and basic
> setups worked fine.
>
>> We were wondering if you knew if there have been any changes with  
>> respect to
>> the Hibernate transaction manager jar.  Should we continue to use the
>> geronimo-hibernate-transaction-manager-lookup-1.0-SNAPSHOT.jar that  
>> you sent
>> our way (thanks again for that!)?  Or does 2.1.1 have an alternate/ 
>> included
>> way to handle Hibernate setups?
>
> Nothing's changed. Keep using it. I wonder if we could publish it as a
> plugin or such so people could just plug it in to the server and use
> it. Don't know much about plugins so can't comment on it beside
> mentioning it as a possible idea.

I think that's a good idea. Any volunteers?

--kevan

Re: Geronimo 2.1 and Seam

Posted by Jacek Laskowski <ja...@laskowski.net.pl>.
On Thu, Jun 19, 2008 at 6:36 AM, steausti <st...@cisco.com> wrote:

> I work with Burt and we are moving to Geronimo 2.1.1 and we have found that
> many of the initial issues we encountered are fixed in this latest version.

I'm working with the latest 2.0.3.CR1 release of JBoss Seam and basic
setups worked fine.

> We were wondering if you knew if there have been any changes with respect to
> the Hibernate transaction manager jar.  Should we continue to use the
> geronimo-hibernate-transaction-manager-lookup-1.0-SNAPSHOT.jar that you sent
> our way (thanks again for that!)?  Or does 2.1.1 have an alternate/included
> way to handle Hibernate setups?

Nothing's changed. Keep using it. I wonder if we could publish it as a
plugin or such so people could just plug it in to the server and use
it. Don't know much about plugins so can't comment on it beside
mentioning it as a possible idea.

Jacek

-- 
Jacek Laskowski
Notatnik Projektanta Java EE - http://www.JacekLaskowski.pl

Re: Geronimo 2.1 and Seam

Posted by steausti <st...@cisco.com>.
Hello Jay,

I work with Burt and we are moving to Geronimo 2.1.1 and we have found that
many of the initial issues we encountered are fixed in this latest version. 
We were wondering if you knew if there have been any changes with respect to
the Hibernate transaction manager jar.  Should we continue to use the
geronimo-hibernate-transaction-manager-lookup-1.0-SNAPSHOT.jar that you sent
our way (thanks again for that!)?  Or does 2.1.1 have an alternate/included
way to handle Hibernate setups?

Your guidance is appreciated!
Thanks,
-Steve



Jay D. McHugh-3 wrote:
> 
> Hello Burt,
> 
> Answers inline
> 
> Burt Prior (bprior) wrote:
>> Hi Geronimo Team,
>>  
>> I hope I'm directing this question correctly.
>>  
>> First, thank you all for your excellent work on Geronimo 2.1.  Our team
>> has standardized on Geronimo at our large enterprise, and we think its
>> the best app server in the industry.
>>   
> Thanks!
>>  
>> We are in current development of an JSF/EJB3/OpenJPA application, and we
>> would very much like to use Seam (2).
>>  
>> For the past few days we have been trying (without much luck) to
>> configure Geronimo to work with Seam and Hibernate; we would prefer
>> OpenJPA as the persistence provider, but it appears impossible to use
>> with Seam.
>>  
>> I've tried to work thru:
>> http://cwiki.apache.org/GMOxSAMPLES/running-jboss-seam-200ga-on-geronimo
>> -21.html but the maven project to download the Hibernate Transaction
>> Manager appears not to work, and we are finding the instructions a bit
>> hard to follow. (we don't use Maven, we are Subversion users)
>> $ mvn archetype:create -DgroupId=org.apache.geronimo.hibernate
>> -DartifactId=geronimo-hibernate-transaction-manager-lookup
>>   
> I have updated the directions to correspond to the released Geronimo 2.1 
> version.  But, I have not made it through testing all of the directions 
> after creating the transaction manager jar.
> 
> For your convenience, here is a link to the jar that I built:
> http://people.apache.org/~jaydm/hibernate/geronimo-hibernate-transaction-manager-lookup-1.0-SNAPSHOT.jar
>>  
>> Question 1:
>>  
>> Is there a Geronimo 2.1 build that already includes everything needed to
>> run Seam 2 or Hibernate that I can download, so we do not have to
>> manually patch it?
>>   
> Not that I am aware of.
>>  
>> Question 2:
>>  
>> Is there any advice/guidance you can give my team regarding setting up
>> Geronimo 2.1 to use Seam 2?  We would very much like integrate Seam into
>> Geronimo for our long term application development.
>>   
> I think that after the tutorial has been re-tested for the released 
> Geronimo 2.1 version - that tutorial should be all you need to set up 
> Geronimo for Seam.
>>  
>> Thanks for your time and great work,
>>  
>> Burt Prior
>> IT Engineer
>> bprior@cisco.com
>> Office: 408.853.4199
>>  
>>
>>   
> 
> 
> 

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


Re: Geronimo 2.1 and Seam

Posted by "Jay D. McHugh" <ja...@gmail.com>.
Hello Burt,

Answers inline

Burt Prior (bprior) wrote:
> Hi Geronimo Team,
>  
> I hope I'm directing this question correctly.
>  
> First, thank you all for your excellent work on Geronimo 2.1.  Our team
> has standardized on Geronimo at our large enterprise, and we think its
> the best app server in the industry.
>   
Thanks!
>  
> We are in current development of an JSF/EJB3/OpenJPA application, and we
> would very much like to use Seam (2).
>  
> For the past few days we have been trying (without much luck) to
> configure Geronimo to work with Seam and Hibernate; we would prefer
> OpenJPA as the persistence provider, but it appears impossible to use
> with Seam.
>  
> I've tried to work thru:
> http://cwiki.apache.org/GMOxSAMPLES/running-jboss-seam-200ga-on-geronimo
> -21.html but the maven project to download the Hibernate Transaction
> Manager appears not to work, and we are finding the instructions a bit
> hard to follow. (we don't use Maven, we are Subversion users)
> $ mvn archetype:create -DgroupId=org.apache.geronimo.hibernate
> -DartifactId=geronimo-hibernate-transaction-manager-lookup
>   
I have updated the directions to correspond to the released Geronimo 2.1 
version.  But, I have not made it through testing all of the directions 
after creating the transaction manager jar.

For your convenience, here is a link to the jar that I built:
http://people.apache.org/~jaydm/hibernate/geronimo-hibernate-transaction-manager-lookup-1.0-SNAPSHOT.jar
>  
> Question 1:
>  
> Is there a Geronimo 2.1 build that already includes everything needed to
> run Seam 2 or Hibernate that I can download, so we do not have to
> manually patch it?
>   
Not that I am aware of.
>  
> Question 2:
>  
> Is there any advice/guidance you can give my team regarding setting up
> Geronimo 2.1 to use Seam 2?  We would very much like integrate Seam into
> Geronimo for our long term application development.
>   
I think that after the tutorial has been re-tested for the released 
Geronimo 2.1 version - that tutorial should be all you need to set up 
Geronimo for Seam.
>  
> Thanks for your time and great work,
>  
> Burt Prior
> IT Engineer
> bprior@cisco.com
> Office: 408.853.4199
>  
>
>