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/07/11 15:51:03 UTC

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

I've upgraded to G2.1.2 and activemq-core 4.1.2.  Now I'm getting the
following JMS exception:

     [java] 13:20:00,099 WARN  [AppBrokerImpl] javax.jms.JMSException:
Failed
 to build body from bytes. Reason: java.io.IOException:
app.entity.QuartzJobI
ssued
     [java] 13:20:00,099 ERROR [TokenBrokerImpl] JMSException processing
JMS message.
     [java] javax.jms.JMSException: Failed to build body from bytes. Reason:
jav
a.io.IOException: app.entity.QuartzJobIssued
     [java]     at
org.apache.activemq.util.JMSExceptionSupport.create(JMSExcept
ionSupport.java:33)
     [java]     at
org.apache.activemq.command.ActiveMQObjectMessage.getObject(A
ctiveMQObjectMessage.java:172)
     [java]     at
app.messaging.TokenBrokerImpl.onMessage(TokenBrokerImpl.java:105)
     [java]     at
app.jms.AppThreadListener.onMessage(AppThreadListener.java:35)
     [java]     at
org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQ
MessageConsumer.java:854)
     [java]     at
org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQ
SessionExecutor.java:104)
     [java]     at
org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQS
essionExecutor.java:171)
     [java]     at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTas
kRunner.java:120)
     [java]     at
org.apache.activemq.thread.PooledTaskRunner.access$100(Pooled
TaskRunner.java:26)
     [java]     at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskR
unner.java:47)
     [java]     at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExec
utor$Worker.runTask(ThreadPoolExecutor.java:665)
     [java]     at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExec
utor$Worker.run(ThreadPoolExecutor.java:690)
     [java]     at java.lang.Thread.run(Thread.java:619)
     [java] Caused by: java.io.IOException: app.entity.QuartzJobIssued
     [java]     at
org.apache.activemq.command.ActiveMQObjectMessage.getObject(A
ctiveMQObjectMessage.java:168)
     [java]     ... 11 more
-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p18404327.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>.
JMS is a separate module.
app
  ->myApp
    ->1.0
       ->myApp-1.0.car
  ->appJMS

 app.entity.QuartzJobIssued is packaged in myApp.jar and it is in ear/lib.




Kevan Miller wrote:
> 
> What's the structure of your app(s)?
> 
> This exception indicates that you're using JMS ObjectMessages and  
> there's a problem deserializing the message bytes into an Object. The  
> class app.entity.QuartzJobIssued is not being found. Where is that  
> class packaged?
> 
> --kevan
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p18425625.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


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

Posted by jklcom99 <je...@yahoo.com>.
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 Kevan Miller <ke...@gmail.com>.
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

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

Posted by jklcom99 <je...@yahoo.com>.
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.

In the meantime, here is what I had before with jms connector as a separate
module hopefully will help you determine if it's a bug indeed.

geronimo2.1.2
   repository				
	apps
		myApp
			1.0
				myApp-1.0.car
					META-INF				
					appweb.war
		appDataSource
			1.0
				appDataSource-1.0.rar
					META-INF
					rar
						META-INF
		appJMS
			1.0
				appJMS-1.0.rar
					META-INF
					rar
						META-INF

NOTE:  There is no longer appJMS module, I have moved it into the ear
deployment plan.


Kevan Miller wrote:
> 
> 
> On Jul 15, 2008, at 9:56 AM, jklcom99 wrote:
> 
>>
>> The app was running on G1.1.1.  I've recently upgraded to G2.1.2- 
>> SNAPSHOT.  I
>> believe I'm on G2.1.2-SNAPSHOT 07/03 build.
>>
>> Test case:
>> Whenever a scheduled Quartz job kicks off, the server would send a JMS
>> message to update the UI.
>> Could this be a bug?
>>
>> Please let me know if you need more information.
> 
> Thanks. Assuming that the contents of your EAR are correct (i.e. lib/  
> contains a jar file which contains the required Classes for the  
> ObjectMessage), I think this is a bug.
> 
> I was hoping you could prepare some deployable artifacts that we could  
> be used to recreate, test and diagnose the problem. It will take a bit  
> of work to set up your scenario. Anything that you can do to make it  
> easier to recreate your problem will increase the chances of somebody  
> looking at it...
> 
> If I understand correctly, you are separately deploying a JMS 'module'  
> and an EAR with your MDB. I don't think Quartz is needed to recreate  
> the problem, just some JMS ObjectMessage with an object from your  
> EAR's lib/
> 
> We may be able to figure this out without a test case, but it would  
> definitely help...
> 
> --kevan
> 
>>
>>
>> Thank you
>>
>>
>> Kevan Miller wrote:
>>>
>>> Thanks. Is it possible for you to provide a test case that can
>>> illustrate the problem?
>>>
>>> Which version of Geronimo were you using previously? If you want to
>>> try a work-around, you could try moving your connector deployment  
>>> into
>>> your ear deployment plan.
>>>
>>> --kevan
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p18465908.html
>> Sent from the Apache Geronimo - Users mailing list archive at  
>> Nabble.com.
>>
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p18498003.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 Jul 15, 2008, at 9:56 AM, jklcom99 wrote:

>
> The app was running on G1.1.1.  I've recently upgraded to G2.1.2- 
> SNAPSHOT.  I
> believe I'm on G2.1.2-SNAPSHOT 07/03 build.
>
> Test case:
> Whenever a scheduled Quartz job kicks off, the server would send a JMS
> message to update the UI.
> Could this be a bug?
>
> Please let me know if you need more information.

Thanks. Assuming that the contents of your EAR are correct (i.e. lib/  
contains a jar file which contains the required Classes for the  
ObjectMessage), I think this is a bug.

I was hoping you could prepare some deployable artifacts that we could  
be used to recreate, test and diagnose the problem. It will take a bit  
of work to set up your scenario. Anything that you can do to make it  
easier to recreate your problem will increase the chances of somebody  
looking at it...

If I understand correctly, you are separately deploying a JMS 'module'  
and an EAR with your MDB. I don't think Quartz is needed to recreate  
the problem, just some JMS ObjectMessage with an object from your  
EAR's lib/

We may be able to figure this out without a test case, but it would  
definitely help...

--kevan

>
>
> Thank you
>
>
> Kevan Miller wrote:
>>
>> Thanks. Is it possible for you to provide a test case that can
>> illustrate the problem?
>>
>> Which version of Geronimo were you using previously? If you want to
>> try a work-around, you could try moving your connector deployment  
>> into
>> your ear deployment plan.
>>
>> --kevan
>>
>>
>
> -- 
> View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p18465908.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>.
The app was running on G1.1.1.  I've recently upgraded to G2.1.2-SNAPSHOT.  I
believe I'm on G2.1.2-SNAPSHOT 07/03 build.  

Test case:
Whenever a scheduled Quartz job kicks off, the server would send a JMS
message to update the UI.
Could this be a bug?

Please let me know if you need more information.

Thank you


Kevan Miller wrote:
> 
> Thanks. Is it possible for you to provide a test case that can  
> illustrate the problem?
> 
> Which version of Geronimo were you using previously? If you want to  
> try a work-around, you could try moving your connector deployment into  
> your ear deployment plan.
> 
> --kevan
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p18465908.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>.
Thanks. Is it possible for you to provide a test case that can  
illustrate the problem?

Which version of Geronimo were you using previously? If you want to  
try a work-around, you could try moving your connector deployment into  
your ear deployment plan.

--kevan

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

Posted by jklcom99 <je...@yahoo.com>.
Here is my deployment plan:

<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>apps</groupId>
            <artifactId>appJMS</artifactId>
            <version>1.0</version>
            <type>rar</type>
        </moduleId>
        <dependencies>
            <dependency>
                <groupId>org.apache.geronimo.configs</groupId>
                <artifactId>activemq-broker</artifactId>
                <type>car</type>
            </dependency>
        </dependencies>
    </environment>

    <resourceadapter>
        <resourceadapter-instance>
            <resourceadapter-name>ConnectionFactory</resourceadapter-name>
            <config-property-setting
name="ServerUrl">tcp://localhost:9099</config-property-setting>
            <config-property-setting
name="UserName">geronimo</config-property-setting>
            <config-property-setting
name="Password">geronimo</config-property-setting>
            <workmanager
xmlns='http://geronimo.apache.org/xml/ns/naming-1.2'>
                <gbean-link>DefaultWorkManager</gbean-link>
            </workmanager>
        </resourceadapter-instance>
        <!-- defines a ConnectionFactory -->
        <outbound-resourceadapter>
            <connection-definition>
               
<connectionfactory-interface>javax.jms.ConnectionFactory</connectionfactory-interface>
                <connectiondefinition-instance>
                    <name>ConnectionFactory</name>
                   
<implemented-interface>javax.jms.QueueConnectionFactory</implemented-interface>
                   
<implemented-interface>javax.jms.TopicConnectionFactory</implemented-interface>
                    <connectionmanager>
                        <xa-transaction>
                            <transaction-caching/>
                        </xa-transaction>
                        <single-pool>
                            <max-size>10</max-size>
                            <min-size>0</min-size>
                            <match-one/>
                        </single-pool>
                    </connectionmanager>
                </connectiondefinition-instance>
            </connection-definition>
        </outbound-resourceadapter>
    </resourceadapter>
    <!-- defines a Topic -->
    <adminobject>
        <adminobject-interface>javax.jms.Topic</adminobject-interface>
       
<adminobject-class>org.activemq.message.ActiveMQTopic</adminobject-class>
        <adminobject-instance>
           
<message-destination-name>myApp/appGridChange</message-destination-name>
            <config-property-setting
name="PhysicalName">myApp/appGridChange</config-property-setting>
        </adminobject-instance>
    </adminobject>
</connector>     

Kevan Miller wrote:
> 
> What's the structure of your app(s)?
> 
> This exception indicates that you're using JMS ObjectMessages and  
> there's a problem deserializing the message bytes into an Object. The  
> class app.entity.QuartzJobIssued is not being found. Where is that  
> class packaged?
> 
> --kevan
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p18452308.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>.
What's the structure of your app(s)?

This exception indicates that you're using JMS ObjectMessages and  
there's a problem deserializing the message bytes into an Object. The  
class app.entity.QuartzJobIssued is not being found. Where is that  
class packaged?

--kevan

On Jul 11, 2008, at 9:51 AM, jklcom99 wrote:

>
> I've upgraded to G2.1.2 and activemq-core 4.1.2.  Now I'm getting the
> following JMS exception:
>
>     [java] 13:20:00,099 WARN  [AppBrokerImpl] javax.jms.JMSException:
> Failed
> to build body from bytes. Reason: java.io.IOException:
> app.entity.QuartzJobI
> ssued
>     [java] 13:20:00,099 ERROR [TokenBrokerImpl] JMSException  
> processing
> JMS message.
>     [java] javax.jms.JMSException: Failed to build body from bytes.  
> Reason:
> jav
> a.io.IOException: app.entity.QuartzJobIssued
>     [java]     at
> org.apache.activemq.util.JMSExceptionSupport.create(JMSExcept
> ionSupport.java:33)
>     [java]     at
> org.apache.activemq.command.ActiveMQObjectMessage.getObject(A
> ctiveMQObjectMessage.java:172)
>     [java]     at
> app.messaging.TokenBrokerImpl.onMessage(TokenBrokerImpl.java:105)
>     [java]     at
> app.jms.AppThreadListener.onMessage(AppThreadListener.java:35)
>     [java]     at
> org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQ
> MessageConsumer.java:854)
>     [java]     at
> org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQ
> SessionExecutor.java:104)
>     [java]     at
> org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQS
> essionExecutor.java:171)
>     [java]     at
> org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTas
> kRunner.java:120)
>     [java]     at
> org.apache.activemq.thread.PooledTaskRunner.access$100(Pooled
> TaskRunner.java:26)
>     [java]     at
> org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskR
> unner.java:47)
>     [java]     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExec
> utor$Worker.runTask(ThreadPoolExecutor.java:665)
>     [java]     at
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExec
> utor$Worker.run(ThreadPoolExecutor.java:690)
>     [java]     at java.lang.Thread.run(Thread.java:619)
>     [java] Caused by: java.io.IOException: app.entity.QuartzJobIssued
>     [java]     at
> org.apache.activemq.command.ActiveMQObjectMessage.getObject(A
> ctiveMQObjectMessage.java:168)
>     [java]     ... 11 more
> -- 
> View this message in context: http://www.nabble.com/javax.jms.JMSException%3A-Failed-to-build-body-from-bytes-tp18404327s134p18404327.html
> Sent from the Apache Geronimo - Users mailing list archive at  
> Nabble.com.
>