camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Charles Moulliard (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CAMEL-1816) Spring DSL <rollback/> generates error but dot not propagate the rollback to the TransactionManager
Date Thu, 09 Jul 2009 14:53:08 GMT

    [ 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&amp;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.


Mime
View raw message