You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Charles Moulliard (JIRA)" <ji...@apache.org> on 2009/07/09 14:41:07 UTC
[jira] Created: (CAMEL-1816) Spring DSL generates error
but dot not propagate the rollback to the TransactionManager
Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
---------------------------------------------------------------------------------------------------
Key: CAMEL-1816
URL: https://issues.apache.org/activemq/browse/CAMEL-1816
Project: Apache Camel
Issue Type: Bug
Reporter: Charles Moulliard
Hi,
When I use the following route :
<camel:route errorHandlerRef="txErrorHandler">
<camel:from ref="directRequestEndpoint"/>
<camel:transacted ref="PROPAGATION_REQUIRED"/>
<camel:doTry>
<!-- Call the requestService to save the request -->
<camel:bean ref="serviceHelper" method="createRequest"/>
<camel:bean ref="serviceHelper" method="generateError" />
<camel:to ref="queueRequestEndpoint" />
<camel:doCatch>
<!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
<camel:bean ref="serviceHelper" method="processException"/> -->
<camel:exception>java.lang.Exception</camel:exception>
<camel:rollback message="Exception occur"/>
<camel:to ref="queueReportingEndpoint" />
</camel:doCatch>
</camel:doTry>
</camel:route>
the following error is generated on the console :
14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
insert
into
x3stst.REQUEST
(FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
values
(?, ?, ?, ?, ?, ?, ?, ?)
14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
... 59 more
14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Charles Moulliard (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52766#action_52766 ]
Charles Moulliard commented on CAMEL-1816:
------------------------------------------
I don't know if it is related or not. But If I remove the <transacted/> in my route, I see this error in the log :
org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is java.lang.IllegalArgumentException: interface org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:599)
at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
at org.springframework.orm.hibernate3.HibernateTransactionManager$$EnhancerByCGLIB$$4a379526.doBegin(<generated>)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:374)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:263)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:101)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy217.saveRequest(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:58)
at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy267.saveRequest(Unknown Source)
at com.xpectis.x3s.core.util.ServiceHelper.createRequest(ServiceHelper.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.camel.component.bean.MethodInfo.invoke(MethodInfo.java:193)
at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:115)
at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:118)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
at org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalArgumentException: interface org.hibernate.jdbc.ConnectionWrapper is not visible from class loader
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:353)
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581)
at org.hibernate.jdbc.BorrowedConnectionProxy.generateProxy(BorrowedConnectionProxy.java:91)
at org.hibernate.jdbc.ConnectionManager.borrowConnection(ConnectionManager.java:186)
at org.hibernate.jdbc.JDBCContext.borrowConnection(JDBCContext.java:134)
at org.hibernate.impl.SessionImpl.connection(SessionImpl.java:386)
at org.springframework.orm.hibernate3.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:510)
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Charles Moulliard (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52768#action_52768 ]
Charles Moulliard commented on CAMEL-1816:
------------------------------------------
Concerning the error reported in my last comment. This one appears if inside a Camelcontext some routes where db access exist (behind camel bean / spring) are not defined as transacted
e.g.
{code}
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 1998-2009 Streamlined Solutions and Services.
All Rights Reserved.
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:osgi="http://www.springframework.org/schema/osgi"
xmlns:camel="http://camel.apache.org/schema/spring"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/osgi
http://www.springframework.org/schema/osgi/spring-osgi.xsd
http://camel.apache.org/schema/osgi
http://camel.apache.org/schema/osgi/camel-osgi.xsd
http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd">
<bean id="aggregationStrat" class="com.xpectis.x3s.core.util.x3sAggregationStrategy" />
<camel:camelContext id="InToOut" trace="true" xmlns="http://camel.apache.org/schema/osgi">
<!-- Core component
Flow IN to OUT
Process P1
-->
<camel:route>
<camel:from ref="fileClientEndpoint" />
<camel:doTry>
<camel:setHeader headerName="origin">
<camel:constant>file</camel:constant>
</camel:setHeader>
beans
<!-- Set Message type header with the name of the parent folder -->
<camel:bean ref="serviceHelper" method="getParentFolderName"/>
<camel:convertBodyTo type="java.lang.String"/>
<camel:to ref="directRequestEndpoint" />
<camel:doCatch>
<camel:exception>java.lang.Exception</camel:exception>
<camel:to uri="log:x3sLog?level=DEBUG&multiline=true" />
</camel:doCatch>
</camel:doTry>
</camel:route>
<!-- Core component
Flow IN to OUT
Process P2
-->
<camel:route errorHandlerRef="txErrorHandler">
<camel:from ref="directRequestEndpoint"/>
<camel:transacted ref="PROPAGATION_REQUIRED"/>
<camel:doTry>
<!-- Call the requestService to save the request -->
<camel:bean ref="serviceHelper" method="createRequest"/>
<!-- <camel:bean ref="serviceHelper" method="generateError" /> -->
<camel:to ref="queueRequestEndpoint" />
<camel:doCatch>
<camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
<camel:bean ref="serviceHelper" method="processException"/>
<!-- <camel:rollback message="Exception occur"/> -->
<camel:to ref="queueReportingEndpoint" />
</camel:doCatch>
</camel:doTry>
</camel:route>
<!-- Core component
Flow IN to OUT
Process P3 technical parsing
-->
<camel:route>
<camel:from ref="queueRequestEndpoint" />
<camel:doTry>
<camel:convertBodyTo type="com.xpectis.x3s.platform.model.Request" />
<!-- Parse the request -->
<camel:bean ref="serviceHelper" method="parseRequest"/>
<!-- Check if the request has been parsed -->
<camel:choice>
<camel:when>
<camel:ognl>request.headers.requestStatus = 'ACCEPTED'</camel:ognl>
<camel:to ref="directRequestMessageEndpoint" />
</camel:when>
<camel:when>
<camel:ognl>request.headers.requestStatus = 'REJECTED'</camel:ognl>
<camel:to ref="queueReportingEndpoint" />
</camel:when>
<camel:otherwise>
<camel:to ref="queueReportingEndpoint" />
</camel:otherwise>
</camel:choice>
<camel:doCatch>
<camel:exception>java.lang.Exception</camel:exception>
<camel:to ref="queueReportingEndpoint" />
</camel:doCatch>
</camel:doTry>
</camel:route>
<!-- Core component
Flow IN to OUT
Process P3 request message creation
-->
<camel:route>
<camel:from ref="directRequestMessageEndpoint" />
//
// Transacted has been removed here
//
<!-- Split the collection of messages -->
<camel:split strategyRef="aggregationStrat">
<camel:ognl>request.body</camel:ognl>
<!-- (1) Call the service to save the request message -->
<camel:bean ref="serviceHelper" method="createRequestMessage"/>
<!-- (2) Validate the business message -->
<camel:bean ref="serviceHelper" method="validateRequestMessage"/>
<!-- (3) Save business message -->
<camel:bean ref="serviceHelper" method="saveRequestMessage"/>
</camel:split>
<!-- Update Request status -->
<camel:bean ref="serviceHelper" method="updateRequestStatus" />
<!-- Put result in queue -->
<camel:to ref="queueRequestMessageEndpoint" />
</camel:route>
<!-- Core component
Flow IN to OUT
Process P4 request message transformation
-->
<camel:route errorHandlerRef="txErrorHandler">
<camel:from ref="queueRequestMessageEndpoint" />
<camel:convertBodyTo type="java.util.List" />
<camel:transacted ref="PROPAGATION_REQUIRED"/>
<camel:split>
<!-- Iterate through the Request list -->
<camel:ognl>request.body</camel:ognl>
<camel:bean ref="serviceHelper" method="transformRequestMessage" />
<!-- Check if the request has been transformed -->
<camel:choice>
<camel:when>
<camel:ognl>request.body.ProcessingStatus = true</camel:ognl>
<camel:to ref="directTransformedRequestMessageEndpoint" />
</camel:when>
<camel:when>
<camel:ognl>request.body.ProcessingStatus = false</camel:ognl>
<camel:to ref="queueReportingEndpoint" />
</camel:when>
<camel:otherwise>
<camel:to ref="queueReportingEndpoint" />
</camel:otherwise>
</camel:choice>
</camel:split>
</camel:route>
<!-- Core component
Flow IN to OUT
Process P5 Sendrequest message transformation
-->
<camel:route>
<camel:from ref="directTransformedRequestMessageEndpoint"/>
<camel:bean ref="serviceHelper" method="createFixMessageFromRequest"/>
<camel:to ref="quickFixClientEndpoint"/>
</camel:route>
</camel:camelContext>
</beans>
{code}
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Charles Moulliard (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52770#action_52770 ]
Charles Moulliard commented on CAMEL-1816:
------------------------------------------
The rollback occurs. Sorry for my mistake
Nevertheless, I don't understand why we have an error in the log when rollback occurs !!!!!
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52802#action_52802 ]
Claus Ibsen commented on CAMEL-1816:
------------------------------------
Its spring that logs much when using DEBUG level logging. When using INFO level logging its not verbose.
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
> Assignee: Claus Ibsen
> Fix For: 2.0.0
>
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52775#action_52775 ]
Claus Ibsen commented on CAMEL-1816:
------------------------------------
I think the spring framework regardless what will log the stacktrace at DEBUG level if it does a rollback forced by an exception. Yeah its quite verbose in the log, but thats the pain for the gain :)
Maybe I can force the rollback with an exception triggering it. But I am busy at the moment with other stuff.
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-1816.
--------------------------------
Resolution: Working as Designed
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
> Assignee: Claus Ibsen
> Fix For: 2.0.0
>
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Charles Moulliard (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52769#action_52769 ]
Charles Moulliard commented on CAMEL-1816:
------------------------------------------
I have added DynamicImport-Package : * in the manifest file of Spring AOP and the second error mentioned has disappeared.
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Charles Moulliard (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52767#action_52767 ]
Charles Moulliard commented on CAMEL-1816:
------------------------------------------
This point is discussed in this spring ticket : http://jira.springframework.org/browse/SPR-5036?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
but I use spring Tx 2.5.6
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Reopened: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen reopened CAMEL-1816:
--------------------------------
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
> Assignee: Claus Ibsen
> Fix For: 2.0.0
>
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-1816.
--------------------------------
Resolution: Won't Fix
Fix Version/s: 2.0.0
Assignee: Claus Ibsen
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
> Assignee: Claus Ibsen
> Fix For: 2.0.0
>
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CAMEL-1816) Spring DSL generates
error but dot not propagate the rollback to the TransactionManager
Posted by "Claus Ibsen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/CAMEL-1816?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52764#action_52764 ]
Claus Ibsen commented on CAMEL-1816:
------------------------------------
The stacktrace does not indicate any error. All is DEBUG level output with stacktraces that a rollback was forced.
And the TM said it is going to do a rollback
{code}
4:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
{code}
> Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
> ---------------------------------------------------------------------------------------------------
>
> Key: CAMEL-1816
> URL: https://issues.apache.org/activemq/browse/CAMEL-1816
> Project: Apache Camel
> Issue Type: Bug
> Reporter: Charles Moulliard
>
> Hi,
> When I use the following route :
> <camel:route errorHandlerRef="txErrorHandler">
> <camel:from ref="directRequestEndpoint"/>
> <camel:transacted ref="PROPAGATION_REQUIRED"/>
> <camel:doTry>
> <!-- Call the requestService to save the request -->
> <camel:bean ref="serviceHelper" method="createRequest"/>
> <camel:bean ref="serviceHelper" method="generateError" />
> <camel:to ref="queueRequestEndpoint" />
> <camel:doCatch>
> <!-- <camel:exception>com.xpectis.x3s.exception.X3SException</camel:exception>
> <camel:bean ref="serviceHelper" method="processException"/> -->
> <camel:exception>java.lang.Exception</camel:exception>
> <camel:rollback message="Exception occur"/>
> <camel:to ref="queueReportingEndpoint" />
> </camel:doCatch>
> </camel:doTry>
> </camel:route>
> the following error is generated on the console :
> 14:38:26,437 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 442 | Found thread-bound Session [org.hibernate.impl.SessionImpl@a62f5b] for Hibernate transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 469 | Participating in existing transaction
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractSaveEventListener | nt.def.AbstractSaveEventListener 320 | executing identity-insert immediately
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 410 | about to open PreparedStatement (open PreparedStatements: 0, globally: 0)
> 14:38:26,453 | DEBUG | 1: FileComponent | SQL | ate.jdbc.util.SQLStatementLogger 111 |
> insert
> into
> x3stst.REQUEST
> (FIL_NM, REQ_STU, BODY_TX, REQ_TYP, CRT_USR_NM, CRT_TS, LUP_USR_NM, LUP_TS)
> values
> (?, ?, ?, ?, ?, ?, ?, ?)
> 14:38:26,453 | DEBUG | 1: FileComponent | IdentifierGeneratorFactory | te.id.IdentifierGeneratorFactory 95 | Natively generated identity: 1449
> 14:38:26,453 | DEBUG | 1: FileComponent | AbstractBatcher | g.hibernate.jdbc.AbstractBatcher 418 | about to close PreparedStatement (open PreparedStatements: 1, globally: 1)
> 14:38:26,468 | DEBUG | 1: FileComponent | BeanProcessor | mel.component.bean.BeanProcessor 147 | Setting bean invocation result on the IN message: com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,468 | DEBUG | 1: FileComponent | DefaultListableBeanFactory | tory.support.AbstractBeanFactory 214 | Returning cached instance of singleton bean 'serviceHelper'
> 14:38:26,484 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 166 | ID-dell-charles-2908-1247142325218-0-10 >>> -->, Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091, Exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,484 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091] exception: java.lang.IllegalArgumentException: Generate error
> 14:38:26,515 | INFO | 1: FileComponent | TraceInterceptor | rg.apache.camel.processor.Logger 88 | ID-dell-charles-2908-1247142325218-0-11 >>> --> [class java.lang.Exception], Pattern:InOnly, Headers:{CamelFileNameOnly=OINP-dummy.txt, CamelFileRelativePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileLastModified=Tue Jun 16 14:50:55 CEST 2009, CamelFileAbsolutePath=d:\temp\data\oinp\OINP-dummy.txt, origin=file, CamelBeanMultiParameterArray=false, messageType=OINP, CamelBeanMethodName=null, CamelFileName=OINP-dummy.txt, CamelFileLength=332, CamelFilePath=d:\temp\data\oinp\OINP-dummy.txt, CamelFileParent=d:\temp\data\oinp, CamelFileAbsolute=true}, BodyType:com.xpectis.x3s.platform.model.Request, Body:com.xpectis.x3s.platform.model.Request@1dbc091
> 14:38:26,515 | DEBUG | 1: FileComponent | Pipeline | .apache.camel.processor.Pipeline 95 | Message exchange has failed so breaking out of pipeline: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091] exception: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TryProcessor | che.camel.processor.TryProcessor 115 | The exception is handled: true for the exception: java.lang.IllegalArgumentException caused by: Generate error
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | rg.apache.camel.processor.Logger 197 | Rollback exchange due: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | processor.RedeliveryErrorHandler 361 | This exchange is not handled so its marked as failed: Exchange[GenericFileMessage with body: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionErrorHandler | ng.spi.TransactionErrorHandler$1 127 | Setting transaction to rollbackOnly due to exception being thrown: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
> 14:38:26,515 | DEBUG | 1: FileComponent | nager$$EnhancerByCGLIB$$4617a97b | stractPlatformTransactionManager 828 | Participating transaction failed - marking existing transaction as rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | HibernateTransactionManager | ate3.HibernateTransactionManager 695 | Setting Hibernate transaction on Session [org.hibernate.impl.SessionImpl@a62f5b] rollback-only
> 14:38:26,515 | DEBUG | 1: FileComponent | TransactionTemplate | tion.support.TransactionTemplate 152 | Initiating transaction rollback on application exception
> org.apache.camel.spring.spi.TransactedRuntimeCamelException: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.spring.spi.TransactionErrorHandler.wrapTransactedRuntimeException(TransactionErrorHandler.java:170)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:121)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
> at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
> at org.apache.camel.spring.spi.TransactionErrorHandler.process(TransactionErrorHandler.java:86)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:70)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:45)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:65)
> at org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:62)
> at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:142)
> at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:62)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:63)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:54)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:198)
> at org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:120)
> at org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:93)
> at org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:98)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
> at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
> at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: org.apache.camel.RollbackExchangeException: Exception occur on the exchange: Exchange[Message: com.xpectis.x3s.platform.model.Request@1dbc091]
> at org.apache.camel.processor.RollbackProcessor.process(RollbackProcessor.java:42)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:148)
> at org.apache.camel.processor.Pipeline.process(Pipeline.java:73)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
> at org.apache.camel.processor.TryProcessor.handleException(TryProcessor.java:110)
> at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:78)
> at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:52)
> at org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
> at org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
> at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:148)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:61)
> at org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:186)
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:155)
> at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
> at org.apache.camel.spring.spi.TransactionErrorHandler.access$101(TransactionErrorHandler.java:41)
> at org.apache.camel.spring.spi.TransactionErrorHandler$1.doInTransactionWithoutResult(TransactionErrorHandler.java:114)
> ... 59 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.