The camel was configured as follows:
camel.addRoutes(new RouteBuilder() {
public void configure() {
errorHandler(new LoggingErrorHandlerBuilder()
.level(LoggingLevel.WARN));
// not transactional
from("amq:xxx")
.routeId("heartbeat-amq-to-wmq")
.startupOrder(1)
.onException(JMSException.class)
.handled(true)
.to("log:applogger?level=ERROR")
.end()
.to("wmq:xxx");
// transactional
from("wmq:yyy")
.routeId("data-wmq-to-amq")
.startupOrder(2)
.errorHandler(new
TransactionErrorHandlerBuilder()
.maximumRedeliveries(1)
.redeliveryDelay(1000)
.retryAttemptedLogLevel(LoggingLevel.WARN))
.transacted("wmqTxPolicy")
.to("amq:yyy");
}
});
wmqTxPolicy was defined in spring:
<bean id="wmqTxPolicy"
class="org.apache.camel.spring.spi.SpringTransactionPolicy">
<property name="transactionManager" ref="wmqTxManager"/>
<property name="propagationBehaviorName"
value="PROPAGATION_REQUIRED"/>
</bean>
<bean id="wmqTxManager"
class="org.springframework.jms.connection.JmsTransactionManager">
<property name="connectionFactory" ref="wmqConnectionFactory" />
</bean>
...
The exception was:
2011-05-14 16:21:56,031 [main] INFO : Apache Camel 2.7.1
(CamelContext:camel-1) is shutting down
2011-05-14 16:21:56,031 [main] INFO : Starting to graceful shutdown 0 routes
(timeout 300 seconds)
2011-05-14 16:21:56,046 [main] INFO : Graceful shutdown of 0 routes
completed in 0 seconds
2011-05-14 16:21:56,046 [main] INFO : Shutting down with no inflight
exchanges.
2011-05-14 16:21:56,046 [main] INFO : Uptime: 2.609 seconds
2011-05-14 16:21:56,046 [main] INFO : Apache Camel 2.7.1 (CamelContext:
camel-1) is shutdown in 0.015 seconds
2011-05-14 16:21:56,046 [main] ERROR: Exception in AAA: Failed to create
route data-wmq-to-amq at: >>> Policy[ref:wmqTxPolicy] <<< in route:
Route[[From[wmq:YYY]] -> [Policy[ref:wmqTxPolicy... because of
transactionTemplate must be specified on: TransactionErrorHandlerBuilder
Unexpected exception org.apache.camel.FailedToCreateRouteException
org.apache.camel.model.RouteDefinition.addRoutes 815
org.apache.camel.model.RouteDefinition.addRoutes 165
org.apache.camel.impl.DefaultCamelContext.startRoute 706
org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions 1643
org.apache.camel.impl.DefaultCamelContext.doStartCamel 1432
org.apache.camel.impl.DefaultCamelContext.doStart 1336
org.apache.camel.impl.ServiceSupport.start 67
org.apache.camel.impl.ServiceSupport.start 54
org.apache.camel.impl.DefaultCamelContext.start 1314
...
How to add a transactionTemplate to TransactionErrorHandlerBuilder? Thanks
in ad!
-----
~Hanson
Java for food, Python for fun
http://hanson.appspot.com/
--
View this message in context:
http://camel.465427.n5.nabble.com/Question-about-TransactionErrorHandlerBuilder-tp4395278p4395278.html
Sent from the Camel - Users mailing list archive at Nabble.com.