geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jay D. McHugh" <jaydmch...@gmail.com>
Subject Re: Geronimo 2.1 and Seam - resend
Date Mon, 10 Mar 2008 16:35:56 GMT
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 <bprior@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.
>>>
>>
>>
> 

Mime
View raw message