[ 
https://issues.apache.org/activemq/browse/CAMEL-1475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=51037#action_51037
 ] 

Claus Ibsen commented on CAMEL-1475:
------------------------------------

Okay the {{policy}} is required to define a route as transacted. Then we do not 
need to configure the error handler as transactional, and thus we can just do:

{code:java}
                Policy required = 
context.getRegistry().lookup("PROPAGATION_REQUIRED", 
SpringTransactionPolicy.class);

                // set the required policy for this route so its transacted
                from("direct:okay").policy(required).
                    setBody(constant("Tiger in Action")).beanRef("bookService").
                    setBody(constant("Elephant in 
Action")).beanRef("bookService");
{code}


> transactionErrorHandler should be able to wrap routes with default policy if 
> no policy defined
> ----------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-1475
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1475
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-core, camel-spring
>    Affects Versions: 1.6.0
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>             Fix For: 2.0.0
>
>
> See TransactionalClientWithRollbackTest in camel-spring
> The {{.policy(required)}} is needed in the routes even though we have a 
> global transaction error handler with a default policy set:
> {code}
>                  errorHandler(transactionErrorHandler(required));
> {code}
> So Camel should fallback and use the global policy if the route itself does 
> not have a policy defined.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to