You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by trivedi kumar b <Tr...@ge.com> on 2009/11/19 20:40:32 UTC
Intended rollback on the exchange - error on transacted routes
Hi,
I am using Camel-2.1-SNAPSHOT jars, my router deals with transactions and
looks like below:
SpringTransactionPolicy required = lookup('REG_PROPAGATION_REQUIRED',
SpringTransactionPolicy.class);
errorHandler(transactionErrorHandler(required));
from(SERVICE_XDSBREG_END_POINT)
.onException(Exception.class)
.handled(true)
.processRef('processError')
.rollback()
.end()
.processRef('handleRequest')
.to("direct:throwException"); //this line throws an exception.
As per the Camel 2.0, the exception should be caught and handled at
onException() block. The code is working fine that during exceptions, it is
invoking 'processError' in which I am setting custom error response in the
"out" body. However the client is not getting that, instead getting the
below error:
org.apache.camel.RollbackExchangeException: Intended rollback on the
exchange: Exchange[Message:
org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.rs.RegistryResponseType@14d9794
Could someone help me on this?
thanks,
Trivedi
--
View this message in context: http://old.nabble.com/Intended-rollback-on-the-exchange---error-on-transacted-routes-tp26421454p26421454.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Intended rollback on the exchange - error on transacted routes
Posted by Claus Ibsen <cl...@gmail.com>.
On Fri, Nov 20, 2009 at 12:34 PM, trivedi kumar b
<Tr...@ge.com> wrote:
>
> If I add markRollbackOnly() to this router instead of rollback(), I am
> getting another error (Transaction exception):
>
> "Transaction rolled back because it has been marked as rollback-only"
Camel does not set this message so its somewhere else.
>
> Any idea why this error is coming?
>
> Thanks,
> Trivedi
>
>
> Claus Ibsen-2 wrote:
>>
>> On Thu, Nov 19, 2009 at 8:40 PM, trivedi kumar b
>> <Tr...@ge.com> wrote:
>>>
>>> Hi,
>>>
>>> I am using Camel-2.1-SNAPSHOT jars, my router deals with transactions and
>>> looks like below:
>>>
>>> SpringTransactionPolicy required = lookup('REG_PROPAGATION_REQUIRED',
>>> SpringTransactionPolicy.class);
>>> errorHandler(transactionErrorHandler(required));
>>>
>>> from(SERVICE_XDSBREG_END_POINT)
>>> .onException(Exception.class)
>>> .handled(true)
>>> .processRef('processError')
>>> .rollback()
>>> .end()
>>> .processRef('handleRequest')
>>> .to("direct:throwException"); //this line throws an exception.
>>>
>>>
>>> As per the Camel 2.0, the exception should be caught and handled at
>>> onException() block. The code is working fine that during exceptions, it
>>> is
>>> invoking 'processError' in which I am setting custom error response in
>>> the
>>> "out" body. However the client is not getting that, instead getting the
>>> below error:
>>>
>>> org.apache.camel.RollbackExchangeException: Intended rollback on the
>>> exchange: Exchange[Message:
>>> org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.rs.RegistryResponseType@14d9794
>>>
>>> Could someone help me on this?
>>>
>>
>> There is a new markRollbackOnly() you can use instead of rollback().
>> This one will then NOT throw any exception and you should be able to
>> return the custom OUT message.
>>
>>
>>> thanks,
>>> Trivedi
>>> --
>>> View this message in context:
>>> http://old.nabble.com/Intended-rollback-on-the-exchange---error-on-transacted-routes-tp26421454p26421454.html
>>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>>
>> --
>> Claus Ibsen
>> Apache Camel Committer
>>
>> Author of Camel in Action: http://www.manning.com/ibsen/
>> Open Source Integration: http://fusesource.com
>> Blog: http://davsclaus.blogspot.com/
>> Twitter: http://twitter.com/davsclaus
>>
>>
>
> --
> View this message in context: http://old.nabble.com/Intended-rollback-on-the-exchange---error-on-transacted-routes-tp26421454p26439507.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
--
Claus Ibsen
Apache Camel Committer
Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus
Re: Intended rollback on the exchange - error on transacted routes
Posted by trivedi kumar b <Tr...@ge.com>.
If I add markRollbackOnly() to this router instead of rollback(), I am
getting another error (Transaction exception):
"Transaction rolled back because it has been marked as rollback-only"
Any idea why this error is coming?
Thanks,
Trivedi
Claus Ibsen-2 wrote:
>
> On Thu, Nov 19, 2009 at 8:40 PM, trivedi kumar b
> <Tr...@ge.com> wrote:
>>
>> Hi,
>>
>> I am using Camel-2.1-SNAPSHOT jars, my router deals with transactions and
>> looks like below:
>>
>> SpringTransactionPolicy required = lookup('REG_PROPAGATION_REQUIRED',
>> SpringTransactionPolicy.class);
>> errorHandler(transactionErrorHandler(required));
>>
>> from(SERVICE_XDSBREG_END_POINT)
>> .onException(Exception.class)
>> .handled(true)
>> .processRef('processError')
>> .rollback()
>> .end()
>> .processRef('handleRequest')
>> .to("direct:throwException"); //this line throws an exception.
>>
>>
>> As per the Camel 2.0, the exception should be caught and handled at
>> onException() block. The code is working fine that during exceptions, it
>> is
>> invoking 'processError' in which I am setting custom error response in
>> the
>> "out" body. However the client is not getting that, instead getting the
>> below error:
>>
>> org.apache.camel.RollbackExchangeException: Intended rollback on the
>> exchange: Exchange[Message:
>> org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.rs.RegistryResponseType@14d9794
>>
>> Could someone help me on this?
>>
>
> There is a new markRollbackOnly() you can use instead of rollback().
> This one will then NOT throw any exception and you should be able to
> return the custom OUT message.
>
>
>> thanks,
>> Trivedi
>> --
>> View this message in context:
>> http://old.nabble.com/Intended-rollback-on-the-exchange---error-on-transacted-routes-tp26421454p26421454.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>
>
--
View this message in context: http://old.nabble.com/Intended-rollback-on-the-exchange---error-on-transacted-routes-tp26421454p26439507.html
Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Intended rollback on the exchange - error on transacted routes
Posted by Claus Ibsen <cl...@gmail.com>.
On Thu, Nov 19, 2009 at 8:40 PM, trivedi kumar b
<Tr...@ge.com> wrote:
>
> Hi,
>
> I am using Camel-2.1-SNAPSHOT jars, my router deals with transactions and
> looks like below:
>
> SpringTransactionPolicy required = lookup('REG_PROPAGATION_REQUIRED',
> SpringTransactionPolicy.class);
> errorHandler(transactionErrorHandler(required));
>
> from(SERVICE_XDSBREG_END_POINT)
> .onException(Exception.class)
> .handled(true)
> .processRef('processError')
> .rollback()
> .end()
> .processRef('handleRequest')
> .to("direct:throwException"); //this line throws an exception.
>
>
> As per the Camel 2.0, the exception should be caught and handled at
> onException() block. The code is working fine that during exceptions, it is
> invoking 'processError' in which I am setting custom error response in the
> "out" body. However the client is not getting that, instead getting the
> below error:
>
> org.apache.camel.RollbackExchangeException: Intended rollback on the
> exchange: Exchange[Message:
> org.openehealth.ipf.commons.ihe.xds.core.stub.ebrs30.rs.RegistryResponseType@14d9794
>
> Could someone help me on this?
>
There is a new markRollbackOnly() you can use instead of rollback().
This one will then NOT throw any exception and you should be able to
return the custom OUT message.
> thanks,
> Trivedi
> --
> View this message in context: http://old.nabble.com/Intended-rollback-on-the-exchange---error-on-transacted-routes-tp26421454p26421454.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
--
Claus Ibsen
Apache Camel Committer
Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus