Hello community I have a transacted route with a jdbc operation. It has a DataSourceTransactionManager bean in the application context which is set with the datasource.
Though the log indicates rollback, the row inserted into the table wasn't rolled back. Any suggestions would be helpful. 16:25:09.444 [http-nio-8888-exec-3] INFO com.company.camel.core.FlowManager - Integration is now started. Context model <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <routes xmlns="http://camel.apache.org/schema/spring"> <route customId="false" id="route2"> <from uri="jetty:http://0.0.0.0:8081/txn?httpMethodRestrict=GET"/> <onException id="onException2" useOriginalMessage="true"> <exception>java.lang.Exception</exception> <process id="process5"/> <choice id="choice2"> <when id="when2"> <simple>${property.rollback_plans} != null</simple> <to id="to4" uri="direct:rollback_plans_router"/> <rollback id="rollback3" markRollbackOnly="true"/> </when> <otherwise id="otherwise2"> <log id="log4" loggingLevel="ERROR" message="${exception}"/> <to id="to5" pattern="InOnly" uri="seda:exception_reporters?multipleConsumers=true"/> <process id="process6"/> <rollback id="rollback4" markRollbackOnly="true"/> </otherwise> </choice> </onException> <transacted id="transacted1"> <log id="log5" message="Received http payload : ${body}"/> <to id="to6" uri="direct:5272a9f8-a718-3585-ac99-ab98b1f6007c"/> </transacted> </route> <route customId="false" id="route1"> <from uri="direct:5272a9f8-a718-3585-ac99-ab98b1f6007c"/> <setBody id="setBody1"> <simple>insert into mydb.transaction_test (name) values ( '${ property.name}' )</simple> </setBody> <log id="log2" loggingLevel="INFO" message="Executing Sql Statement : ${body}"/> <to id="to3" uri="jdbc:fc9af189-1fe3-4d3b-8ac6-06a5a65dbe6a?resetAutoCommit=false"/> <removeHeaders id="removeHeaders1" pattern="CamelJdbc*"/> <throwException id="throwException1"/> <setBody id="setBody2"> <expressionDefinition>language[simple:{ "status" : "ok" }]</expressionDefinition> </setBody> <log id="log3" loggingLevel="INFO" message="${body}"/> </route> </routes> 16:25:18.052 [qtp5207044-102] INFO route2 - Received http payload : 16:25:18.075 [qtp5207044-102] INFO route1 - Executing Sql Statement : insert into mydb.transaction_test (name) values ( 'matt' ) 16:25:18.365 [qtp5207044-102] ERROR com.company.camel.core.route.RouteErrorHandler - Error has occurred: custom made 16:25:18.381 [qtp5207044-102] ERROR route1 - java.lang.Exception: custom made 16:25:18.407 [Camel (ecdaaba8-cc6a-3312-ac13-fb2eaaf42d64) thread #3 - seda://exception_reporters] INFO route3 - creating entry in error table {"error_message":"custom made","error_code":"APIC.8000"} 16:25:18.407 [Camel (ecdaaba8-cc6a-3312-ac13-fb2eaaf42d64) thread #4 - seda://exception_reporters] INFO route4 - creating entry in error queue {"error_message":"custom made","error_code":"APIC.8000"} 16:25:18.417 [qtp5207044-102] WARN org.apache.camel.processor.DefaultErrorHandler - Rollback (MessageId: ID-5CG7324CR4-1600979086161-1-10 on ExchangeId: ID-5CG7324CR4-1600979086161-1-1) due: custom made Message History --------------------------------------------------------------------------------------------------------------------------------------- RouteId ProcessorId Processor Elapsed (ms) [route2 ] [route2 ] [jetty: http://0.0.0.0:8081/txn?httpMethodRestrict=GET ] [ 912] [route2 ] [transacted1 ] [transacted ] [ 0] [route2 ] [log5 ] [log ] [ 5] [route2 ] [to6 ] [direct:5272a9f8-a718-3585-ac99-ab98b1f6007c ] [ 0] [route1 ] [setBody1 ] [setBody[simple{Simple: insert into mydb.transaction_test (name) values ( '${pr] [ 1] [route1 ] [log2 ] [log ] [ 1] [route1 ] [to3 ] [jdbc:fc9af189-1fe3-4d3b-8ac6-06a5a65dbe6a?resetAutoCommit=false ] [ 280] [route1 ] [throwException1 ] [throwException[java.lang.Exception] ] [ 0] [route1 ] [process1 ] [Processor@0xac21e7 ] [ 3] [route1 ] [choice1 ] [when[simple{${property.rollback_plans} != null}]choice[] ] [ 43] [route1 ] [log1 ] [log ] [ 1] [route1 ] [to2 ] [seda:exception_reporters?multipleConsumers=true ] [ 1] [route1 ] [process2 ] [Processor@0x1b1ce78 ] [ 27] [route1 ] [rollback2 ] [rollback ] [ 0] 16:25:18.510 [qtp5207044-102] WARN org.apache.camel.spring.spi.TransactionErrorHandler - Transaction rollback (0x17180b2) redelivered(false) for (MessageId: ID-5CG7324CR4-1600979086161-1-2 on ExchangeId: ID-5CG7324CR4-1600979086161-1-1) due exchange was marked for rollbackOnly
