You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Thomas Recloux <th...@gmail.com> on 2008/06/19 09:58:15 UTC
JMS Flow Error
Hi,
I'm using servicemix 3.2.1 with the jms flow and the jms-component.
The use case is :
- A service unit consumes a JMS Queue provided by Webpshere MQ
- A service unit based on the eip-component is routing the message
- A service unit writes the message in an other JMS Queue provided by
Webpshere MQ
When the destination Websphere MQ instance is down, the JMS Flow is
throwing this exception :
ERROR - JMSFlow - Caught an exception unpacking JMS Messa
ge:
javax.jms.JMSException: Failed to build body from bytes. Reason: java.io.IOExcep
tion: org.springframework.jms.UncategorizedJmsException
at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:33)
at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:172)
at org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow.onMessage(AbstractJMSFlow.java:505)
at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:854)
at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:99)
at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:166)
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:117)
at org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26)
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException:
org.springframework.jms.UncategorizedJmsException
at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:168)
... 10 more
I attached a debugger and the root exception seems to be a
ClassNotFoundException of the MQ Exception : com.ibm.mq.MQException
I tried to move the Websphere MQ jars from the service units to the
ServiceMix lib directory and an other ClassNotFoundException is thrown
: "org.springframework.jms.UncategorizedJmsException".
We tried the same use case with two externals ActiveMQ as source and
destination and there is no problem.
This seems to be a classloading issue, does somenone have a solution ?
Thanks, Thomas
--
Thomas Recloux
Re: JMS Flow Error
Posted by Bruce Snyder <br...@gmail.com>.
On Thu, Jun 19, 2008 at 1:58 AM, Thomas Recloux
<th...@gmail.com> wrote:
> Hi,
>
> I'm using servicemix 3.2.1 with the jms flow and the jms-component.
>
> The use case is :
> - A service unit consumes a JMS Queue provided by Webpshere MQ
> - A service unit based on the eip-component is routing the message
> - A service unit writes the message in an other JMS Queue provided by
> Webpshere MQ
>
> When the destination Websphere MQ instance is down, the JMS Flow is
> throwing this exception :
>
> ERROR - JMSFlow - Caught an exception unpacking JMS Messa
> ge:
> javax.jms.JMSException: Failed to build body from bytes. Reason: java.io.IOExcep
> tion: org.springframework.jms.UncategorizedJmsException
> at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:33)
> at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:172)
> at org.apache.servicemix.jbi.nmr.flow.jms.AbstractJMSFlow.onMessage(AbstractJMSFlow.java:505)
> at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:854)
> at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:99)
> at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:166)
> at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:117)
> at org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26)
> at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44)
> at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
> at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: java.io.IOException:
> org.springframework.jms.UncategorizedJmsException
> at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:168)
> ... 10 more
>
> I attached a debugger and the root exception seems to be a
> ClassNotFoundException of the MQ Exception : com.ibm.mq.MQException
>
> I tried to move the Websphere MQ jars from the service units to the
> ServiceMix lib directory and an other ClassNotFoundException is thrown
> : "org.springframework.jms.UncategorizedJmsException".
>
> We tried the same use case with two externals ActiveMQ as source and
> destination and there is no problem.
>
> This seems to be a classloading issue, does somenone have a solution ?
Have you added the WebsphereMQ classes to the classpath of the
xbean.xml file? See the following for more info:
http://servicemix.apache.org/classloaders.html
Bruce
--
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'
Apache ActiveMQ - http://activemq.org/
Apache Camel - http://activemq.org/camel/
Apache ServiceMix - http://servicemix.org/
Blog: http://bruceblog.org/