Re: Camel multicast and exception
Hi You can turn this off on the error handler. It has many options to turn this on | off. You set LogStackTrace = false http://camel.apache.org/redeliverypolicy.html On Mon, Mar 9, 2015 at 10:18 AM, Desu, Kishore Kumar kishorekumar.d...@mckesson.com wrote: Hi, Below route is giving exception with stackTrace and I want to restrict it to provide only a message instead of stackTrace. Please me to fix it. --- route id=GetEvent from uri=restlet:///event/{eventId}?restletMethod=PUT / setExchangePattern pattern=InOnly / setProperty propertyName=eventid simple${header.eventId}/simple /setProperty setProperty propertyName=eventDesc simple${body}/simple /setProperty onException exceptionjava.lang.Exception/exception exceptionjava.sql.SQLException/exception redeliveryPolicy maximumRedeliveries=3 redeliveryDelay=3000/ setBody simpleError on ${header.eventId}:${body}/simple /setBody to uri=mock:error/ /onException multicast pipeline setHeader headerName=CamelHttpUri simple${properties:rest.uri}${header.eventId}/simple /setHeader setHeader headerName=CamelHttpMethod constantGET/constant /setHeader to uri=http://dummyhost/ setBody simpleinsert into XX (ID, TYPE, SOURCE, SUBMITTED_DT, STATUS, CONTROLS, PAYLOAD) values(SEQPW_SUBMISSIONS.NEXTVAL, 'events', 'CM', sysdate, 'NOT_PROCESSED', TO_CLOB('${property.eventDesc}'), utl_raw.cast_to_raw('${body}'))/simple /setBody to uri=jdbc:db/ /pipeline setBody simple${property.eventid}:${property.eventdesc}/simple /setBody to uri=activemq:topic:EventTopic / /multicast /route Thanks, Kishore Kumar Desu. -- Claus Ibsen - Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen hawtio: http://hawt.io/ fabric8: http://fabric8.io/
Re: Camel multicast and exception
Take a look at try-catch block. Or try adding exception handlers to each individual direct route? On Thu, Sep 26, 2013 at 8:55 AM, Erwin Etchart erwin.etch...@gmail.comwrote: Based on this example of a camel route aggregate id=ag.2 strategyRef=second.aggregator.strategy aggregationRepositoryRef=aggregator.container.2 completionSize=2 completionTimeout=36 correlationExpression headeraggregationKey/header /correlationExpression multicast stopOnException=false to uri=direct:1.IN.SPRING.REMOTING / to uri=direct:2.IN.SPRING.REMOTING / to uri=direct:3.IN.SPRING.REMOTING / /multicast /aggregate route autoStartup=true from uri=direct:1.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route route autoStartup=true from uri=direct:2.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest2(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route route autoStartup=true from uri=direct:3.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest3(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route I want to retry independent from each other if one fails. The behavior now is if one fails the three routes will be retried. I tried to do a custom error hander but the behavior was the same. ¿Any idea? Best regards Erwin -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta
Re: Camel multicast and exception
Thanks for your response Christian, Do you know if i try with try catch how can i do to define a redelivery police of this specific direct component? Regards Erwin 2013/9/26 Christian Posta christian.po...@gmail.com Take a look at try-catch block. Or try adding exception handlers to each individual direct route? On Thu, Sep 26, 2013 at 8:55 AM, Erwin Etchart erwin.etch...@gmail.com wrote: Based on this example of a camel route aggregate id=ag.2 strategyRef=second.aggregator.strategy aggregationRepositoryRef=aggregator.container.2 completionSize=2 completionTimeout=36 correlationExpression headeraggregationKey/header /correlationExpression multicast stopOnException=false to uri=direct:1.IN.SPRING.REMOTING / to uri=direct:2.IN.SPRING.REMOTING / to uri=direct:3.IN.SPRING.REMOTING / /multicast /aggregate route autoStartup=true from uri=direct:1.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route route autoStartup=true from uri=direct:2.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest2(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route route autoStartup=true from uri=direct:3.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest3(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route I want to retry independent from each other if one fails. The behavior now is if one fails the three routes will be retried. I tried to do a custom error hander but the behavior was the same. ¿Any idea? Best regards Erwin -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta
Re: Camel multicast and exception
You can specify an error handler for the specific route which is where you specify redelivery semantics: http://camel.apache.org/error-handler.html On Thu, Sep 26, 2013 at 9:33 AM, Erwin Etchart erwin.etch...@gmail.comwrote: Thanks for your response Christian, Do you know if i try with try catch how can i do to define a redelivery police of this specific direct component? Regards Erwin 2013/9/26 Christian Posta christian.po...@gmail.com Take a look at try-catch block. Or try adding exception handlers to each individual direct route? On Thu, Sep 26, 2013 at 8:55 AM, Erwin Etchart erwin.etch...@gmail.com wrote: Based on this example of a camel route aggregate id=ag.2 strategyRef=second.aggregator.strategy aggregationRepositoryRef=aggregator.container.2 completionSize=2 completionTimeout=36 correlationExpression headeraggregationKey/header /correlationExpression multicast stopOnException=false to uri=direct:1.IN.SPRING.REMOTING / to uri=direct:2.IN.SPRING.REMOTING / to uri=direct:3.IN.SPRING.REMOTING / /multicast /aggregate route autoStartup=true from uri=direct:1.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route route autoStartup=true from uri=direct:2.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest2(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route route autoStartup=true from uri=direct:3.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest3(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route I want to retry independent from each other if one fails. The behavior now is if one fails the three routes will be retried. I tried to do a custom error hander but the behavior was the same. ¿Any idea? Best regards Erwin -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta
Re: Camel multicast and exception
Thanks , i will try that. Regards Erwin 2013/9/26 Christian Posta christian.po...@gmail.com You can specify an error handler for the specific route which is where you specify redelivery semantics: http://camel.apache.org/error-handler.html On Thu, Sep 26, 2013 at 9:33 AM, Erwin Etchart erwin.etch...@gmail.com wrote: Thanks for your response Christian, Do you know if i try with try catch how can i do to define a redelivery police of this specific direct component? Regards Erwin 2013/9/26 Christian Posta christian.po...@gmail.com Take a look at try-catch block. Or try adding exception handlers to each individual direct route? On Thu, Sep 26, 2013 at 8:55 AM, Erwin Etchart erwin.etch...@gmail.com wrote: Based on this example of a camel route aggregate id=ag.2 strategyRef=second.aggregator.strategy aggregationRepositoryRef=aggregator.container.2 completionSize=2 completionTimeout=36 correlationExpression headeraggregationKey/header /correlationExpression multicast stopOnException=false to uri=direct:1.IN.SPRING.REMOTING / to uri=direct:2.IN.SPRING.REMOTING / to uri=direct:3.IN.SPRING.REMOTING / /multicast /aggregate route autoStartup=true from uri=direct:1.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route route autoStartup=true from uri=direct:2.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest2(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route route autoStartup=true from uri=direct:3.IN.SPRING.REMOTING / transform method bean=converter method=toTestRequest/ /transform to uri=bean:spring.remote?method=springRemotingTest3(${body}) / onCompletion onCompleteOnly=true process ref=post.processor / to uri=jms:COMPLETED / /onCompletion /route I want to retry independent from each other if one fails. The behavior now is if one fails the three routes will be retried. I tried to do a custom error hander but the behavior was the same. ¿Any idea? Best regards Erwin -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta -- *Christian Posta* http://www.christianposta.com/blog twitter: @christianposta