You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Antonin Stefanutti (JIRA)" <ji...@apache.org> on 2017/03/03 11:05:45 UTC
[jira] [Work started] (CAMEL-10685) TransactionErrorHandler for
JavaEE environments
[ https://issues.apache.org/jira/browse/CAMEL-10685?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on CAMEL-10685 started by Antonin Stefanutti.
--------------------------------------------------
> TransactionErrorHandler for JavaEE environments
> -----------------------------------------------
>
> Key: CAMEL-10685
> URL: https://issues.apache.org/jira/browse/CAMEL-10685
> Project: Camel
> Issue Type: New Feature
> Components: camel-cdi
> Affects Versions: 2.18.1
> Reporter: RasPelikan
> Assignee: Antonin Stefanutti
> Fix For: 2.19.0
>
>
> The "transacted" configuration requires a Spring environment. We use JavaEE and we needed to use "transacted". We ported the Spring implementation of the TransactionErrorHandler to JavaEE.
> There is only one major difference: Spring's TransactionErrorHandler derives from org.apache.camel.processor.RedeliveryErrorHandler which brings the behavior that redelivery is done within the transaction. In our implementation there is a RedeliveryErrorHandler which uses the TransactionErrorHandler to force a rollback and create a new transaction for each redelivery.
> Example usage:
> {noformat}
> errorHandler(transactionErrorHandler() //
> .setTransactionPolicy("PROPAGATION_SUPPORTS") //
> .maximumRedeliveries(5) //
> .maximumRedeliveryDelay(5000) //
> .collisionAvoidancePercent(10) //
> .backOffMultiplier(1.5));
> from("direct:sample") //
> .transacted("PROPAGATION_REQUIRES_NEW")
> .to("bean:sampleBean");
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)