public static void main(String[] args) throws Exception { Configuration BTMconfig = TransactionManagerServices.getConfiguration(); BTMconfig.setServerId("spring-btm"); BitronixTransactionManager BitronixTM = TransactionManagerServices.getTransactionManager(); JtaTransactionManager JTAtm = new JtaTransactionManager(); JTAtm.setUserTransaction(BitronixTM); JTAtm.setTransactionManager(BitronixTM); PoolingDataSource xaDataSource = new PoolingDataSource(); xaDataSource.setClassName("org.apache.derby.jdbc.EmbeddedXADataSource"); xaDataSource.setUniqueName("xaDataSource"); xaDataSource.setMinPoolSize(1); xaDataSource.setMaxPoolSize(5); xaDataSource.setAllowLocalTransactions(true); Properties xaDataSourceProp = new Properties(); xaDataSourceProp.put("DatabaseName","DerbyDB"); xaDataSourceProp.put("CreateDatabase","true"); xaDataSourceProp.put("DataSourceName","xaDataSource"); xaDataSource.setDriverProperties(xaDataSourceProp); xaDataSource.init(); SimpleRegistry registry = new SimpleRegistry(); registry.put("transactionManager", JTAtm); registry.put("xaDataSource", xaDataSource); CamelContext camelContext = new DefaultCamelContext(registry); camelContext.addRoutes(new RouteBuilder(){ @Override public void configure() throws Exception { from("file:data/inbox?noop=true"). transacted(). process(new ToJdbcProcessor()). to("jdbc:xaDataSource"); } }); camelContext.start(); Thread.sleep(3000); } 

Unwilling to complete a transaction. The log displays the following:

 [ thread #0 - file://data/inbox] JdbcProducer WARN Error occurred during jdbc rollback. This exception will be ignored. java.sql.SQLException: cannot rollback a resource enlisted in a global transaction at bitronix.tm.resource.jdbc.JdbcConnectionHandle.rollback(JdbcConnectionHandle.java:120)[btm-2.1.4.jar:2.1.4] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_111] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_111] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_111] at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_111] at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:64)[btm-2.1.4.jar:2.1.4] at com.sun.proxy.$Proxy16.rollback(Unknown Source)[:] at org.apache.camel.component.jdbc.JdbcProducer.processingSqlBySettingAutoCommit(JdbcProducer.java:92)[camel-jdbc-2.18.0.jar:2.18.0] at org.apache.camel.component.jdbc.JdbcProducer.process(JdbcProducer.java:67)[camel-jdbc-2.18.0.jar:2.18.0] at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:145)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:400)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:172)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:120)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:220)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:101)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:114)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:220)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:183)[camel-spring-2.18.0.jar:2.18.0] at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:34)[spring-tx-4.3.3.RELEASE.jar:4.3.3.RELEASE] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)[spring-tx-4.3.3.RELEASE.jar:4.3.3.RELEASE] at org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:176)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:136)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:105)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:114)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:460)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:227)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:191)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:102)[camel-core-2.18.0.jar:2.18.0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_111] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)[:1.8.0_111] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)[:1.8.0_111] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)[:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_111] at java.lang.Thread.run(Thread.java:745)[:1.8.0_111] [ thread #0 - file://data/inbox] DefaultErrorHandler ERROR Failed delivery for (MessageId: ID-office11238-50617-1479470669103-0-3 on ExchangeId: ID-office11238-50617-1479470669103-0-2). Exhausted after delivery attempt: 1 caught: java.sql.SQLException: cannot commit a resource enlisted in a global transaction Message History --------------------------------------------------------------------------------------------------------------------------------------- RouteId ProcessorId Processor Elapsed (ms) [route1 ] [route1 ] [file://data/inbox?noop=true ] [ 211] [route1 ] [transacted1 ] [transacted ] [ 208] [route1 ] [process1 ] [Processor@0x39502c11 ] [ 1] [route1 ] [to1 ] [jdbc:xaDataSource ] [ 182] Stacktrace --------------------------------------------------------------------------------------------------------------------------------------- java.sql.SQLException: cannot commit a resource enlisted in a global transaction at bitronix.tm.resource.jdbc.JdbcConnectionHandle.commit(JdbcConnectionHandle.java:111)[btm-2.1.4.jar:2.1.4] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_111] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_111] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_111] at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_111] at bitronix.tm.resource.jdbc.BaseProxyHandlerClass.invoke(BaseProxyHandlerClass.java:64)[btm-2.1.4.jar:2.1.4] at com.sun.proxy.$Proxy16.commit(Unknown Source)[:] at org.apache.camel.component.jdbc.JdbcProducer.processingSqlBySettingAutoCommit(JdbcProducer.java:88)[camel-jdbc-2.18.0.jar:2.18.0] at org.apache.camel.component.jdbc.JdbcProducer.process(JdbcProducer.java:67)[camel-jdbc-2.18.0.jar:2.18.0] at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:145)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:400)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:172)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:120)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:220)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:101)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:114)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:542)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.processByErrorHandler(TransactionErrorHandler.java:220)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:183)[camel-spring-2.18.0.jar:2.18.0] at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:34)[spring-tx-4.3.3.RELEASE.jar:4.3.3.RELEASE] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)[spring-tx-4.3.3.RELEASE.jar:4.3.3.RELEASE] at org.apache.camel.spring.spi.TransactionErrorHandler.doInTransactionTemplate(TransactionErrorHandler.java:176)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.processInTransaction(TransactionErrorHandler.java:136)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:105)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:114)[camel-spring-2.18.0.jar:2.18.0] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:197)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:460)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:227)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:191)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175)[camel-core-2.18.0.jar:2.18.0] at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:102)[camel-core-2.18.0.jar:2.18.0] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_111] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)[:1.8.0_111] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)[:1.8.0_111] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)[:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_111] at java.lang.Thread.run(Thread.java:745)[:1.8.0_111] [ thread #0 - file://data/inbox] TransactionErrorHandler WARN Transaction rollback (0x5bc9ba1d) redelivered(unknown) for (MessageId: ID-office11238-50617-1479470669103-0-1 on ExchangeId: ID-office11238-50617-1479470669103-0-2) caught: java.sql.SQLException: cannot commit a resource enlisted in a global transaction [ thread #0 - file://data/inbox] GenericFileOnCompletion WARN Rollback file strategy: org.apache.camel.component.file.strategy.GenericFileRenameProcessStrategy@11388081 for file: GenericFile[1.txt] [ thread #0 - file://data/inbox] JdbcProducer WARN Error occurred during jdbc rollback. This exception will be ignored. 

Aaaaaa! Save-help.

  • The base is not locked? - Senior Pomidor
  • No, no. After that, I connected to the database through the same xaDataSouce. The request is executed normally. Connection connection = xaDataSource.getConnection (); Statement stmt = connection.createStatement (); ResultSet rs = stmt.executeQuery ("SELECT * FROM TEXTMSGS"); while (rs.next ()) {System.out.println ("RESULT DB:" + rs.getInt ("ID") + "" + rs.getString ("BODY")); } - Xoxole
  • perhaps here stackoverflow.com/questions/16279120/… has an answer to your question. - Senior Pomidor
  • Understood. It was necessary to set the xaDataSource.setAutomaticEnlistingEnabled property (false); When configuring via spring: <property name = "AutomaticEnlistingEnabled" value = "false" /> - Xoxole

0