No worries, I found out what was causing the out message to be accessed (getOut without calling hasOut first in a TraceEventHandler) and with that fixed it's working.
Jim On Tue, May 17, 2011 at 02:26:02PM +0200, Claus Ibsen wrote: > On Tue, May 17, 2011 at 11:23 AM, James Talbut <[email protected]> > wrote: > > Thanks Claus, > > > > Does that mean it's not currently possible to run this set of routes with > > multiple failures? > > Is there any way to workaround it? > > > > I dont have time to look into a workaround. Just spotted the exception > and fixed the camel-jms component. > > > Thanks > > > > Jim > > > > > > On Tue, May 17, 2011 at 10:59:36AM +0200, Claus Ibsen wrote: > >> Hi > >> > >> I have created a ticket to fix that class cast exception > >> https://issues.apache.org/jira/browse/CAMEL-3979 > >> > >> On Tue, May 17, 2011 at 10:46 AM, James Talbut <[email protected]> > >> wrote: > >> > Hi, > >> > > >> > I've got the following three routes: > >> > <camel:camelContext id="sampleHashCamelContext" > > >> > <camel:route> > >> > <camel:from uri="cxf:bean:serviceEndpoint" /> > >> > <camel:transacted /> > >> > <camel:to uri="activemq:queue:SampleAsyncHashCamelQueue" > >> > pattern="InOnly" /> > >> > </camel:route> > >> > > >> > <camel:route streamCache="true" handleFault="false"> > >> > <camel:from uri="activemq:queue:SampleAsyncHashCamelQueue" /> > >> > <camel:transacted /> > >> > <camel:loadBalance> > >> > <camel:roundRobin /> > >> > <camel:to uri="cxf:bean:targetEndpoint1"/> > >> > <camel:to uri="cxf:bean:targetEndpoint2"/> > >> > <camel:to uri="cxf:bean:targetEndpoint3"/> > >> > </camel:loadBalance> > >> > <camel:to uri="activemq:queue:SampleAsyncHashCamelQueueReply" /> > >> > </camel:route> > >> > > >> > <camel:route> > >> > <camel:from uri="activemq:queue:SampleAsyncHashCamelQueueReply" /> > >> > <camel:transacted /> > >> > <camel:to uri="http://192.168.1.100:8080/sampleHashCamelContext" > >> > pattern="InOnly" /> > >> > </camel:route> > >> > </camel:camelContext> > >> > > >> > > >> > In the no-error case everything works perfectly, one of the CXF > >> > endpoints gets called asynchronously and the results get sent to an http > >> > endpoint. > >> > > >> > To test the error handling I change the CXF endpoints to point to TCP > >> > ports that aren't listening. > >> > When I do this for one endpoint everything continues to work correctly. > >> > When I change two endpoints I get the following error: > >> > Interceptor for > >> > {http://spudsoft.co.uk/}Hash#{http://spudsoft.co.uk/}HashFiles has > >> > thrown exception, unwinding now > >> > org.apache.cxf.interceptor.Fault: org.apache.camel.impl.DefaultMessage > >> > cannot be cast to org.apache.camel.component.jms.JmsMessage > >> > at > >> > org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:218)[136:org.apache.camel.camel-cxf:2.7.1] > >> > ... > >> > Caused by: java.lang.ClassCastException: > >> > org.apache.camel.impl.DefaultMessage cannot be cast to > >> > org.apache.camel.component.jms.JmsMessage > >> > at > >> > org.apache.camel.component.jms.JmsProducer.setMessageId(JmsProducer.java:365)[155:org.apache.camel.camel-jms:2.7.1] > >> > ... > >> > > >> > In the docs for transactional-client there is an example of a similar > >> > route that has to explicitly create a new transaction for the second > >> > stage. > >> > Should I be doing this? > >> > If so, how does camel know that it should wrap the three routes in a > >> > single transaction (i.e. if something else were to dequeue messages > >> > wouldn't that leave the > >> > transaction hanging?) > >> > > >> > If I don't need to explicitly declare transaction policies, what is > >> > causing the error? > >> > > >> > Thanks. > >> > > >> > Jim > >> > > >> > >> > >> > >> -- > >> Claus Ibsen > >> ----------------- > >> FuseSource > >> Email: [email protected] > >> Web: http://fusesource.com > >> CamelOne 2011: http://fusesource.com/camelone2011/ > >> Twitter: davsclaus, fusenews > >> Blog: http://davsclaus.blogspot.com/ > >> Author of Camel in Action: http://www.manning.com/ibsen/ > > > > > > -- > Claus Ibsen > ----------------- > FuseSource > Email: [email protected] > Web: http://fusesource.com > CamelOne 2011: http://fusesource.com/camelone2011/ > Twitter: davsclaus, fusenews > Blog: http://davsclaus.blogspot.com/ > Author of Camel in Action: http://www.manning.com/ibsen/
