You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@geronimo.apache.org by jklcom99 <je...@yahoo.com> on 2008/09/10 22:42:14 UTC

Re: javax.jms.JMSException: Failed to build body from bytes

Kevan,

Is this classloader problem fixed?

Thanks


Kevan Miller wrote:
> 
> 
> On Jul 16, 2008, at 6:27 PM, jklcom99 wrote:
> 
>>
>> Kevan,
>> Your assumption is correct.  I've moved the jms connector into my ear
>> deployment plan as you suggested.  JMS is now happy.
>> I'll see if I can mock up some artifacts for you.
> 
> I spoke with David Blevins about this problem. Looks like OpenEJB is  
> not setting the MDB classloader before the message is delivered to the  
> MDB, by ActiveMQ. Thus the ClassLoader in effect, when the connector  
> is deployed separately, is the Connector ClassLoader, instead of the  
> MDB ClassLoader.
> 
> By the way, there's another potential work-around -- add a dependency  
> in your appJMS module for the necessary jar files (which you have  
> installed into your repository).
> 
> --kevan
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19422719.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
Kevan,

I haven't a chance to test the in-place deployment with your sample code. 
However, I did verify that with the same code running under Geronimo 1.1.1,
the MDB ContextClassLoader is correct.

******Thread.currentThread().getContextClassLoader() =
[org.apache.geronimo.kernel.classloader.JarFileClassLoader id=myApp/1.0/car]

Whereas under Geronimo 2.1.2
> ******* Thread.currentThread().getContextClassLoader() =
 [org.apache.geronimo.kernel.classloader.JarFileClassLoader
id=appJMS/1.0/rar] 

Thanks


Kevan Miller wrote:
> 
> 
> On Sep 18, 2008, at 10:46 AM, jklcom99 wrote:
> 
>>
>> Kevan,
>>
>> Do you see anything wrong with the in-place deployment?  Is this an  
>> issue
>> with openejb not setting the classloader?
> 
> Jeff,
> I'll give in-place deployment a try. Not sure that I can get to it,  
> today. If you're able to test in-place with my sample, that'd be  
> great. Once we can recreate your issue, should go a long way to fixing  
> it...
> 
> --kevan
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19627799.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
Kevan,

I went through the deployment plans again and not seeing anything... no
idea.

Here's what got started between the two servers, maybe you will see
something:

For G1.1.1
100%  89s Startup complete                  Listening on Ports:
     [java]     1527 127.0.0.1 Derby Connector
     [java]     1099 0.0.0.0   RMI Naming
     [java]     4201 127.0.0.1 ActiveIO Connector EJB
     [java]     4242 127.0.0.1 Remote Login Listener
     [java]     8009 127.0.0.1 Tomcat Connector AJP
     [java]     8080 127.0.0.1 Tomcat Connector HTTP
     [java]     8888 0.0.0.0   ActiveMQ Message Broker Connector
     [java]     8443 0.0.0.0   Tomcat Connector HTTPS
     [java]     9999 127.0.0.1 JMX Remoting Connector
     [java]
     [java]   Started Application Modules:
     [java]     EAR: geronimo/webconsole-tomcat/1.1.1/car
     [java]     EAR: myApp/1.0/car
     [java]     RAR: geronimo/activemq/1.1.1/car
     [java]     RAR: appDataSource/1.0/rar
     [java]     RAR: appJMS/1.0/rar
     [java]     WAR: geronimo/remote-deploy-tomcat/1.1.1/car
     [java]     WAR: appWeb/1.0/war

For G2.1.2
100% 105s Startup complete            Listening on Ports:
     [java]     1050 127.0.0.1 CORBA Naming Service
     [java]     1527 127.0.0.1 Derby Connector
     [java]     2001 127.0.0.1 OpenEJB ORB Adapter
     [java]     1099 0.0.0.0   RMI Naming
     [java]     4201 127.0.0.1 OpenEJB Daemon
     [java]     6882 127.0.0.1 OpenEJB ORB Adapter
     [java]     8009 127.0.0.1 Tomcat Connector AJP AJP
     [java]     8080 127.0.0.1 Tomcat Connector HTTP BIO HTTP
     [java]     8888 127.0.0.1 ActiveMQ Transport Connector
     [java]     8443 127.0.0.1 Tomcat Connector HTTPS BIO HTTPS
     [java]     9999 127.0.0.1 JMX Remoting Connector
     [java]    61613 127.0.0.1 ActiveMQ Transport Connector
     [java]
     [java]   Started Application Modules:
     [java]     EAR: myApp/1.0/car
     [java]     EAR: org.apache.geronimo.configs/uddi-tomcat/2.1.2/car
     [java]     EAR: org.apache.geronimo.plugins/console-tomcat/2.1.2/car
     [java]     JAR: org.apache.geronimo.configs/mejb/2.1.2/car
     [java]     JAR: org.apache.geronimo.plugins/agent/2.1.2/car
     [java]     RAR: appDataSource/1.0/rar
     [java]     RAR: appJMS/1.0/rar
     [java]     RAR: org.apache.geronimo.configs/activemq-ra/2.1.2/car
     [java]     RAR: org.apache.geronimo.configs/system-database/2.1.2/car
     [java]     RAR: org.apache.geronimo.plugins/agent-ds/2.1.2/car
     [java]     RAR: org.apache.geronimo.plugins/mconsole-ds/2.1.2/car
     [java]     WAR: appWeb/1.0/war
     [java]     WAR:
org.apache.geronimo.configs/dojo-legacy-tomcat/2.1.2/car
     [java]     WAR: org.apache.geronimo.configs/dojo-tomcat/2.1.2/car
     [java]     WAR:
org.apache.geronimo.configs/remote-deploy-tomcat/2.1.2/car
     [java]     WAR:
org.apache.geronimo.plugins/plancreator-console-tomcat/2.1.2/car
     [java]     WAR:
org.apache.geronimo.plugins/plugin-console-tomcat/2.1.2/car
     [java]     WAR:
org.apache.geronimo.plugins/sysdb-console-tomcat/2.1.2/car

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p20016160.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
Hi Kevan,

Thanks for looking into this, hope we can get closure soon :-).
openejb-jar.xml:

<openejb-jar xmlns="http://openejb.apache.org/xml/ns/openejb-jar-2.2">
    <dep:environment
xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2">
		<dep:moduleId>
			<dep:groupId>myApp</dep:groupId>
			<dep:artifactId>AppServicesEjb</dep:artifactId>
			<dep:version>1.0</dep:version>
			<dep:type>car</dep:type>
		</dep:moduleId>
		<dependencies xmlns='http://geronimo.apache.org/xml/ns/deployment-1.2'>
			<dependency>
				<groupId>myApp</groupId>
				<artifactId>AppDataSource</artifactId>
				<version>1.0</version>
				<type>rar</type>
			</dependency>
		</dependencies>
		<dep:hidden-classes/>
		<dep:non-overridable-classes/>
	</dep:environment>
	<enterprise-beans>
		<session>
			<ejb-name>AppServices</ejb-name>
			<ejb-ref xmlns="http://geronimo.apache.org/xml/ns/naming-1.2">
				<ref-name>ejb/AppServices</ref-name>
				<ejb-link>AppServices</ejb-link>
			</ejb-ref>
			<ejb-local-ref xmlns="http://geronimo.apache.org/xml/ns/naming-1.2">
				<ref-name>AppServicesLocal</ref-name>
				<ejb-link>AppServices</ejb-link>
			</ejb-local-ref>
      <resource-adapter>
        <resource-link>Resources-ConnectionFactory</resource-link>
      </resource-adapter>
      <resource-ref xmlns="http://geronimo.apache.org/xml/ns/naming-1.2">
				<ref-name>jdbc/myApp.datasource</ref-name>
				<resource-link>myApp.datasource</resource-link>
			</resource-ref>
		</session>
	</enterprise-beans>
</openejb-jar>


Kevan Miller wrote:
> 
> 
> On Oct 13, 2008, at 5:10 PM, jklcom99 wrote:
> 
>>
>> Hi Kevan,
>>
>> I tested out your sample with inPlace deplopment today and it works,  
>> the
>> ContextClassLoader is correct.
>>
>> In the sample deployment plan:
>> <?xml version="1.0" encoding="UTF-8"?>
>> <application xmlns="http://java.sun.com/xml/ns/javaee"
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>> http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
>>  <description>Geronimo Sample EAR for jms-mdb</description>
>>  <display-name>Geronimo Sample EAR for jms-mdb</display-name>
>>  <module>
>>    <ejb>jms-mdb-ejb-2.1.2-SNAPSHOT.jar</ejb>
>>  </module>
>>  <module>
>>    <web>
>>      <web-uri>jms-mdb-war-2.1.2-SNAPSHOT.war</web-uri>
>>      <context-root>/order</context-root>
>>    </web>
>>  </module>
>> </application>
>>
>> Where ejb reference is an actual jar jms-mdb-ejb-2.1.2-SNAPSHOT.jar  
>> under
>> jms-mdb.ear
>>
>> In MyApp deployment plan
>>
>> <application>
>> ...
>>
>> <module>
>>   <ejb>app-ejb.jar<ejb>
>> </module>
>>
>> ...
>> </application>
>>
>> where app-ejb.jar is another folder under:
>> -> MyApp.ear
>>    -> app-ejb.jar
>>       -> META-INF
>>           - manifest.mf
>>           - openejb-jar.xml
>>
>> Is there something I'm missing in migrating from 1.1.1 to 2.1.2?
> 
> Hi Jeff,
> Slowly, but surely.... :)  So, what does your openejb-jar.xml look  
> like? FYI, I exploded my jar, ran an inplace deploy, and the  
> ClassLoader looks correct. Still looking for a way to reproduce your  
> problem...
> 
> --kevan
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19972648.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by Kevan Miller <ke...@gmail.com>.
On Oct 13, 2008, at 5:10 PM, jklcom99 wrote:

>
> Hi Kevan,
>
> I tested out your sample with inPlace deplopment today and it works,  
> the
> ContextClassLoader is correct.
>
> In the sample deployment plan:
> <?xml version="1.0" encoding="UTF-8"?>
> <application xmlns="http://java.sun.com/xml/ns/javaee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
> http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
>  <description>Geronimo Sample EAR for jms-mdb</description>
>  <display-name>Geronimo Sample EAR for jms-mdb</display-name>
>  <module>
>    <ejb>jms-mdb-ejb-2.1.2-SNAPSHOT.jar</ejb>
>  </module>
>  <module>
>    <web>
>      <web-uri>jms-mdb-war-2.1.2-SNAPSHOT.war</web-uri>
>      <context-root>/order</context-root>
>    </web>
>  </module>
> </application>
>
> Where ejb reference is an actual jar jms-mdb-ejb-2.1.2-SNAPSHOT.jar  
> under
> jms-mdb.ear
>
> In MyApp deployment plan
>
> <application>
> ...
>
> <module>
>   <ejb>app-ejb.jar<ejb>
> </module>
>
> ...
> </application>
>
> where app-ejb.jar is another folder under:
> -> MyApp.ear
>    -> app-ejb.jar
>       -> META-INF
>           - manifest.mf
>           - openejb-jar.xml
>
> Is there something I'm missing in migrating from 1.1.1 to 2.1.2?

Hi Jeff,
Slowly, but surely.... :)  So, what does your openejb-jar.xml look  
like? FYI, I exploded my jar, ran an inplace deploy, and the  
ClassLoader looks correct. Still looking for a way to reproduce your  
problem...

--kevan

Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
Hi Kevan,

I tested out your sample with inPlace deplopment today and it works, the
ContextClassLoader is correct.  

In the sample deployment plan:
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">
  <description>Geronimo Sample EAR for jms-mdb</description>
  <display-name>Geronimo Sample EAR for jms-mdb</display-name>
  <module>
    <ejb>jms-mdb-ejb-2.1.2-SNAPSHOT.jar</ejb>
  </module>
  <module>
    <web>
      <web-uri>jms-mdb-war-2.1.2-SNAPSHOT.war</web-uri>
      <context-root>/order</context-root>
    </web>
  </module>
</application>

Where ejb reference is an actual jar jms-mdb-ejb-2.1.2-SNAPSHOT.jar under
jms-mdb.ear

In MyApp deployment plan

<application>
...

<module>
   <ejb>app-ejb.jar<ejb>
</module>

...
</application>

where app-ejb.jar is another folder under:
-> MyApp.ear
    -> app-ejb.jar
       -> META-INF
           - manifest.mf
           - openejb-jar.xml

Is there something I'm missing in migrating from 1.1.1 to 2.1.2?

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19962992.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by Kevan Miller <ke...@gmail.com>.
On Sep 18, 2008, at 10:46 AM, jklcom99 wrote:

>
> Kevan,
>
> Do you see anything wrong with the in-place deployment?  Is this an  
> issue
> with openejb not setting the classloader?

Jeff,
I'll give in-place deployment a try. Not sure that I can get to it,  
today. If you're able to test in-place with my sample, that'd be  
great. Once we can recreate your issue, should go a long way to fixing  
it...

--kevan


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
Kevan,

Do you see anything wrong with the in-place deployment?  Is this an issue
with openejb not setting the classloader? 



jklcom99 wrote:
> 
> Yes, I did and it ran.
> 
> The difference I see in the ear deployed structure is that your MDB is in
> WEB-INF->lib
> 
> Whereas we are doing an in-place deployment with the following deployed
> structure.  All MDB's along with other classes are available in the lib
> folder.  The manifest classpath of app-ejb-jar has references to the
> required MDB's via ../lib/myApp.jar.  This worked under G1.1.1
> 
> deployed
> 	apps
> 		myApp.ear
> 			myWeb.war
> 			lib
> 			META-INF
> 			app-ejb.jar
> 				META-INF
> 					app-ejb-jar.xml
> 					MANIFEST.MF
> 					app-openejb-jar.xml			
> 
> Thank you
> 
> 
> 
> Kevan Miller wrote:
>> 
>> 
>> On Sep 17, 2008, at 12:28 AM, jklcom99 wrote:
>> 
>>>
>>> I don't have the <module>...</module> in ear deployment plan.  It  
>>> still got
>>> the wrong classloader after adding <module>...</module>
>> 
>> Can you (did you) run a test using my test apps?
>> 
>> --kevan
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19554557.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
Yes, I did and it ran.

The difference I see in the ear deployed structure is that your MDB is in
WEB-INF->lib

Whereas we are doing an in-place deployment with the following deployed
structure.  All MDB's along with other classes are available in the lib
folder.  The manifest classpath of app-ejb-jar has references to the
required MDB's via ../lib/myApp.jar.  This worked under G1.1.1

deployed
	apps
		myApp.ear
			myWeb.war
			lib
			META-INF
			app-ejb.jar
				META-INF
					app-ejb-jar.xml
					MANIFEST.MF
					app-openejb-jar.xml			

Thank you



Kevan Miller wrote:
> 
> 
> On Sep 17, 2008, at 12:28 AM, jklcom99 wrote:
> 
>>
>> I don't have the <module>...</module> in ear deployment plan.  It  
>> still got
>> the wrong classloader after adding <module>...</module>
> 
> Can you (did you) run a test using my test apps?
> 
> --kevan
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19537546.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by Kevan Miller <ke...@gmail.com>.
On Sep 17, 2008, at 12:28 AM, jklcom99 wrote:

>
> I don't have the <module>...</module> in ear deployment plan.  It  
> still got
> the wrong classloader after adding <module>...</module>

Can you (did you) run a test using my test apps?

--kevan


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
I don't have the <module>...</module> in ear deployment plan.  It still got
the wrong classloader after adding <module>...</module>



Kevan Miller wrote:
> 
> 
> On Sep 16, 2008, at 2:50 PM, jklcom99 wrote:
> 
>>
>> contextClassLoader in MDB,
>>
>> ******* Thread.currentThread().getContextClassLoader() =
>> [org.apache.geronimo.kernel.classloader.JarFileClassLoader
>> id=appJMS/1.0/rar]
>>
>> [java] javax.jms.JMSException: Failed to build body from bytes.  
>> Reason:
>> java.io.IOException:
> 
> Bingo. That's definitely a bad ClassLoader. Now the question is why...
> 
> I split apart our jms-mdb example and rigged up an application which I  
> thought was structurally equivalent to yours. Could you give it a try?
> 
> http://people.apache.org/~kevan/test/ contains the apps/deployment plans
> 
> 1) deploy.sh deploy geronimo-activemq-ra-2.1.2.rar geronimo-ra.xml
> 2) deploy.sh deploy jms-mdb.ear geronimo-application.xml
> 
> Then go to http://localhost:8080/order/ , fill out the order form, and  
> click order. You should see the following output on the server (at  
> least this is what I see):
> 
> (client) Start Sending Order Request
> (client) Order Request Sent
> Thread.currentThread().getContextClassLoader() =  
> [org.apache.geronimo.kernel.config.MultiParentClassLoader id=test/ear/ 
> 1.0/car]
> (mdb) Order Received
> <CustomerId=fee OrderId=fi Quantity=1 Model=101>
> 
> Can you have a look at tell me what's different (i.e. what I did wrong?)
> 
> --kevan
>   
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19525174.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by Kevan Miller <ke...@gmail.com>.
On Sep 16, 2008, at 2:50 PM, jklcom99 wrote:

>
> contextClassLoader in MDB,
>
> ******* Thread.currentThread().getContextClassLoader() =
> [org.apache.geronimo.kernel.classloader.JarFileClassLoader
> id=appJMS/1.0/rar]
>
> [java] javax.jms.JMSException: Failed to build body from bytes.  
> Reason:
> java.io.IOException:

Bingo. That's definitely a bad ClassLoader. Now the question is why...

I split apart our jms-mdb example and rigged up an application which I  
thought was structurally equivalent to yours. Could you give it a try?

http://people.apache.org/~kevan/test/ contains the apps/deployment plans

1) deploy.sh deploy geronimo-activemq-ra-2.1.2.rar geronimo-ra.xml
2) deploy.sh deploy jms-mdb.ear geronimo-application.xml

Then go to http://localhost:8080/order/ , fill out the order form, and  
click order. You should see the following output on the server (at  
least this is what I see):

(client) Start Sending Order Request
(client) Order Request Sent
Thread.currentThread().getContextClassLoader() =  
[org.apache.geronimo.kernel.config.MultiParentClassLoader id=test/ear/ 
1.0/car]
(mdb) Order Received
<CustomerId=fee OrderId=fi Quantity=1 Model=101>

Can you have a look at tell me what's different (i.e. what I did wrong?)

--kevan
  

Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
contextClassLoader in MDB,

******* Thread.currentThread().getContextClassLoader() =
[org.apache.geronimo.kernel.classloader.JarFileClassLoader
id=appJMS/1.0/rar]

[java] javax.jms.JMSException: Failed to build body from bytes. Reason:
java.io.IOException:

=============================
As for the jdom error, here is the stack trace:

Error while starting; GBean is now in the FAILED state:
abstractName="myApp/1.0/car?J2EEApplication=myApp/1.0/car,j2eeType=GBean,name=RMI_Startup"java.lang.LinkageError:
loading constraint violation: loader
"org/apache/geronimo/kernel/classloader/JarFileClassLoader@308a308a"
previously initiated loading for a different type with name
"org/jdom/Document" defined by loader
"org/apache/geronimo/kernel/classloader/JarFileClassLoader@6c206c2"
     [java] 	at java.lang.ClassLoader.defineClassImpl(Native Method)
     [java] 	at java.lang.ClassLoader.defineClass(ClassLoader.java:265)
     [java] 	at java.security.SecureClassLoader.defineClass(Unknown Source)
     [java] 	at
org.apache.geronimo.kernel.classloader.JarFileClassLoader.access$200(JarFileClassLoader.java:52)
     [java] 	at
org.apache.geronimo.kernel.classloader.JarFileClassLoader$6.run(JarFileClassLoader.java:308)
     [java] 	at
java.security.AccessController.doPrivileged(AccessController.java:284)
     [java] 	at
org.apache.geronimo.kernel.classloader.JarFileClassLoader.findClass(JarFileClassLoader.java:260)
     [java] 	at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(MultiParentClassLoader.java:430)
     [java] 	at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:278)
     [java] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
     [java] 	at
app.console.config.ConfigXMLBundle.load(ConfigXMLBundle.java:247)
     [java] 	at
app.server.geronimo.RMIStartup.setupRmiObjects(RMIStartup.java:212)
     [java] 	at app.server.geronimo.RMIStartup.start(RMIStartup.java:119)
     [java] 	at app.server.geronimo.RMIStartup.doStart(RMIStartup.java:379)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:998)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
     [java] 	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
     [java] 	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
     [java] 	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
     [java] 	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
     [java] 	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
     [java] 	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188)
     [java] 	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:562)
     [java] 	at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
     [java] 	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39)
     [java] 	at java.lang.reflect.Method.invoke(Method.java:612)
     [java] 	at
org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:832)
     [java] 	at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
     [java] 	at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
     [java] 	at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
     [java] 	at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$54000bc6.startConfiguration(<generated>)
     [java] 	at
org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:162)
     [java] 	at
org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:79)
     [java] 	at
org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
     [java] 	at
org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
     [java] 	at
org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
     [java] 11:33:29,315 WARN  [BasicLifecycleMonitor] Exception occured
while notifying listener
     [java] java.lang.LinkageError: loading constraint violation: loader
"org/apache/geronimo/kernel/classloader/JarFileClassLoader@308a308a"
previously initiated loading for a different type with name
"org/jdom/Document" defined by loader
"org/apache/geronimo/kernel/classloader/JarFileClassLoader@6c206c2"
     [java] 	at java.lang.ClassLoader.defineClassImpl(Native Method)
     [java] 	at java.lang.ClassLoader.defineClass(ClassLoader.java:265)
     [java] 	at java.security.SecureClassLoader.defineClass(Unknown Source)
     [java] 	at
org.apache.geronimo.kernel.classloader.JarFileClassLoader.access$200(JarFileClassLoader.java:52)
     [java] 	at
org.apache.geronimo.kernel.classloader.JarFileClassLoader$6.run(JarFileClassLoader.java:308)
     [java] 	at
java.security.AccessController.doPrivileged(AccessController.java:284)
     [java] 	at
org.apache.geronimo.kernel.classloader.JarFileClassLoader.findClass(JarFileClassLoader.java:260)
     [java] 	at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadOptimizedClass(MultiParentClassLoader.java:430)
     [java] 	at
org.apache.geronimo.kernel.config.MultiParentClassLoader.loadClass(MultiParentClassLoader.java:278)
     [java] 	at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
     [java] 	at
app.console.config.ConfigXMLBundle.load(ConfigXMLBundle.java:247)
     [java] 	at
app.server.geronimo.RMIStartup.setupRmiObjects(RMIStartup.java:212)
     [java] 	at app.server.geronimo.RMIStartup.start(RMIStartup.java:119)
     [java] 	at app.server.geronimo.RMIStartup.doStart(RMIStartup.java:379)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:998)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:541)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanDependency.attemptFullStart(GBeanDependency.java:111)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanDependency.addTarget(GBeanDependency.java:146)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanDependency$1.running(GBeanDependency.java:120)
     [java] 	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.fireRunningEvent(BasicLifecycleMonitor.java:176)
     [java] 	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor.access$300(BasicLifecycleMonitor.java:44)
     [java] 	at
org.apache.geronimo.kernel.basic.BasicLifecycleMonitor$RawLifecycleBroadcaster.fireRunningEvent(BasicLifecycleMonitor.java:254)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:294)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive(GBeanInstanceState.java:124)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive(GBeanInstance.java:555)
     [java] 	at
org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean(BasicKernel.java:379)
     [java] 	at
org.apache.geronimo.kernel.config.ConfigurationUtil.startConfigurationGBeans(ConfigurationUtil.java:456)
     [java] 	at
org.apache.geronimo.kernel.config.KernelConfigurationManager.start(KernelConfigurationManager.java:188)
     [java] 	at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.startConfiguration(SimpleConfigurationManager.java:562)
     [java] 	at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
     [java] 	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:39)
     [java] 	at java.lang.reflect.Method.invoke(Method.java:612)
     [java] 	at
org.apache.geronimo.gbean.runtime.ReflectionMethodInvoker.invoke(ReflectionMethodInvoker.java:34)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
     [java] 	at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:832)
     [java] 	at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
     [java] 	at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
     [java] 	at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
     [java] 	at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$54000bc6.startConfiguration(<generated>)
     [java] 	at
org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:162)
     [java] 	at
org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:79)
     [java] 	at
org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
     [java] 	at
org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
     [java] 	at
org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
     [java] 



Kevan Miller wrote:
> 
> 
> On Sep 16, 2008, at 11:24 AM, jklcom99 wrote:
> 
>>
>> Kevan,
>>
>> I'm in a process of adding all dependencies to appJMS module.  I'm  
>> getting
>> the following error even with
>>        <hidden-classes>
>>            <filter>org.jdom</filter>
>>        </hidden-classes>
>>
>> j2eeType=GBean,name=RMI_Startup"java.lang.LinkageError: loading  
>> constraint
>> violation: loader
>> "org/apache/geronimo/kernel/classloader/JarFileClassLoader@78ea78ea"
>> previously initiated loading for a different type with name
>> "org/jdom/Document" defined by loader
>> "org/apache/geronimo/kernel/classloader/JarFileClassLoader@5de95de9"
> 
> Heh. I've never seen that before... What's the stacktrace for the Error?
> 
>>
>>
>> By the way,
>> It has the correct id
>> [org.apache.geronimo.kernel.config.MultiParentClassLoader
>> id=test/ear/1.0/car] right before the message gets sent by
>> javax.jms.MessageProducer.
> 
> The ClassLoader problem wouldn't be in your MessageProducer, it will  
> be in your MDB. We need to know the contextClassLoader when  
> onMessage() is invoked on your MDB.
> 
> --kevan
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19518194.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by Kevan Miller <ke...@gmail.com>.
On Sep 16, 2008, at 11:24 AM, jklcom99 wrote:

>
> Kevan,
>
> I'm in a process of adding all dependencies to appJMS module.  I'm  
> getting
> the following error even with
>        <hidden-classes>
>            <filter>org.jdom</filter>
>        </hidden-classes>
>
> j2eeType=GBean,name=RMI_Startup"java.lang.LinkageError: loading  
> constraint
> violation: loader
> "org/apache/geronimo/kernel/classloader/JarFileClassLoader@78ea78ea"
> previously initiated loading for a different type with name
> "org/jdom/Document" defined by loader
> "org/apache/geronimo/kernel/classloader/JarFileClassLoader@5de95de9"

Heh. I've never seen that before... What's the stacktrace for the Error?

>
>
> By the way,
> It has the correct id
> [org.apache.geronimo.kernel.config.MultiParentClassLoader
> id=test/ear/1.0/car] right before the message gets sent by
> javax.jms.MessageProducer.

The ClassLoader problem wouldn't be in your MessageProducer, it will  
be in your MDB. We need to know the contextClassLoader when  
onMessage() is invoked on your MDB.

--kevan

Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
Kevan,

I'm in a process of adding all dependencies to appJMS module.  I'm getting
the following error even with 
        <hidden-classes>
            <filter>org.jdom</filter>
        </hidden-classes>

j2eeType=GBean,name=RMI_Startup"java.lang.LinkageError: loading constraint
violation: loader
"org/apache/geronimo/kernel/classloader/JarFileClassLoader@78ea78ea"
previously initiated loading for a different type with name
"org/jdom/Document" defined by loader
"org/apache/geronimo/kernel/classloader/JarFileClassLoader@5de95de9"

By the way,
It has the correct id
[org.apache.geronimo.kernel.config.MultiParentClassLoader
id=test/ear/1.0/car] right before the message gets sent by
javax.jms.MessageProducer.  


-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19514209.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by Kevan Miller <ke...@gmail.com>.
On Sep 12, 2008, at 10:52 AM, jklcom99 wrote:

>
> Does it look like this will be fixed soon?

Hope so. I took a look this evening and didn't spot a problem.  
Possible that I'm not recreating your environment properly.

Could you add code like the following to your MDB onMessage() method?

          
System.out.println("Thread.currentThread().getContextClassLoader() = "  
+ Thread.currentThread().getContextClassLoader());

Expect something like the following:

Thread.currentThread().getContextClassLoader() =  
[org.apache.geronimo.kernel.config.MultiParentClassLoader id=test/ear/ 
1.0/car]

I'd like to know the id of the contextClassLoader when you get the  
"javax.jms.JMSException: Failed to build body from bytes" error.

--kevan



Re: javax.jms.JMSException: Failed to build body from bytes

Posted by jklcom99 <je...@yahoo.com>.
Does it look like this will be fixed soon?


Kevan Miller wrote:
> 
> 
> On Sep 10, 2008, at 4:42 PM, jklcom99 wrote:
> 
>>
>> Kevan,
>>
>> Is this classloader problem fixed?
> 
> Looks like not -- https://issues.apache.org/jira/browse/OPENEJB-889
> 
> I'm having a look.
> 
> --kevan
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p19457555.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Re: javax.jms.JMSException: Failed to build body from bytes

Posted by Kevan Miller <ke...@gmail.com>.
On Sep 10, 2008, at 4:42 PM, jklcom99 wrote:

>
> Kevan,
>
> Is this classloader problem fixed?

Looks like not -- https://issues.apache.org/jira/browse/OPENEJB-889

I'm having a look.

--kevan