Re: javax.jms.JMSException: Failed to build body from bytes
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] 0.0.0.0 ActiveMQ Message Broker Connector [java] 8443 0.0.0.0 Tomcat Connector HTTPS [java] 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 completeListening 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] 127.0.0.1 ActiveMQ Transport Connector [java] 8443 127.0.0.1 Tomcat Connector HTTPS BIO HTTPS [java] 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
Hi Kevan, Thanks for looking into this, hope we can get closure soon :-). openejb-jar.xml: http://openejb.apache.org/xml/ns/openejb-jar-2.2";> http://geronimo.apache.org/xml/ns/deployment-1.2";> myApp AppServicesEjb 1.0 car myApp AppDataSource 1.0 rar AppServices http://geronimo.apache.org/xml/ns/naming-1.2";> ejb/AppServices AppServices http://geronimo.apache.org/xml/ns/naming-1.2";> AppServicesLocal AppServices Resources-ConnectionFactory http://geronimo.apache.org/xml/ns/naming-1.2";> jdbc/myApp.datasource myApp.datasource 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: >> >> 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"> >> Geronimo Sample EAR for jms-mdb >> Geronimo Sample EAR for jms-mdb >> >>jms-mdb-ejb-2.1.2-SNAPSHOT.jar >> >> >> >> jms-mdb-war-2.1.2-SNAPSHOT.war >> /order >> >> >> >> >> Where ejb reference is an actual jar jms-mdb-ejb-2.1.2-SNAPSHOT.jar >> under >> jms-mdb.ear >> >> In MyApp deployment plan >> >> >> ... >> >> >> app-ejb.jar >> >> >> ... >> >> >> 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
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: 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"> Geronimo Sample EAR for jms-mdb Geronimo Sample EAR for jms-mdb jms-mdb-ejb-2.1.2-SNAPSHOT.jar jms-mdb-war-2.1.2-SNAPSHOT.war /order Where ejb reference is an actual jar jms-mdb-ejb-2.1.2-SNAPSHOT.jar under jms-mdb.ear In MyApp deployment plan ... app-ejb.jar ... 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
Hi Kevan, I tested out your sample with inPlace deplopment today and it works, the ContextClassLoader is correct. In the sample deployment plan: 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"> Geronimo Sample EAR for jms-mdb Geronimo Sample EAR for jms-mdb jms-mdb-ejb-2.1.2-SNAPSHOT.jar jms-mdb-war-2.1.2-SNAPSHOT.war /order Where ejb reference is an actual jar jms-mdb-ejb-2.1.2-SNAPSHOT.jar under jms-mdb.ear In MyApp deployment plan ... app-ejb.jar ... 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
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
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
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 ... in ear deployment plan. It >>> still got >>> the wrong classloader after adding ... >> >> 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
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 ... in ear deployment plan. It >> still got >> the wrong classloader after adding ... > > 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
On Sep 17, 2008, at 12:28 AM, jklcom99 wrote: I don't have the ... in ear deployment plan. It still got the wrong classloader after adding ... Can you (did you) run a test using my test apps? --kevan
Re: javax.jms.JMSException: Failed to build body from bytes
I don't have the ... in ear deployment plan. It still got the wrong classloader after adding ... 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 > > > 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
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 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
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/[EMAIL PROTECTED]" previously initiated loading for a different type with name "org/jdom/Document" defined by loader "org/apache/geronimo/kernel/classloader/[EMAIL PROTECTED]" [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(ProxyM
Re: javax.jms.JMSException: Failed to build body from bytes
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 org.jdom j2eeType=GBean,name=RMI_Startup"java.lang.LinkageError: loading constraint violation: loader "org/apache/geronimo/kernel/classloader/[EMAIL PROTECTED]" previously initiated loading for a different type with name "org/jdom/Document" defined by loader "org/apache/geronimo/kernel/classloader/[EMAIL PROTECTED]" 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
Kevan, I'm in a process of adding all dependencies to appJMS module. I'm getting the following error even with org.jdom j2eeType=GBean,name=RMI_Startup"java.lang.LinkageError: loading constraint violation: loader "org/apache/geronimo/kernel/classloader/[EMAIL PROTECTED]" previously initiated loading for a different type with name "org/jdom/Document" defined by loader "org/apache/geronimo/kernel/classloader/[EMAIL PROTECTED]" 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
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
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
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
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
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
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
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
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
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
Here is my deployment plan: http://geronimo.apache.org/xml/ns/j2ee/connector-1.2";> http://geronimo.apache.org/xml/ns/deployment-1.2";> apps appJMS 1.0 rar org.apache.geronimo.configs activemq-broker car ConnectionFactory tcp://localhost:9099 geronimo geronimo DefaultWorkManager javax.jms.ConnectionFactory ConnectionFactory javax.jms.QueueConnectionFactory javax.jms.TopicConnectionFactory 10 0 javax.jms.Topic org.activemq.message.ActiveMQTopic myApp/appGridChange myApp/appGridChange 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
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
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.