[esb-issues] [JBoss JIRA] Commented: (JBESB-3511) JBESB camel integration issue with JPA URI

David Ward (JIRA) jira-events at lists.jboss.org
Tue Nov 2 11:04:02 EDT 2010


    [ https://jira.jboss.org/browse/JBESB-3511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560875#action_12560875 ] 

David Ward commented on JBESB-3511:
-----------------------------------

Without having looked at this more than a glance, my gut reaction is, "Why is there a JpaTemplate being carried around in the message headers anyways?"  But I agree with Tom that we can protect ourselves by not mapping non-Serializable headers.

> JBESB camel integration issue with JPA URI
> ------------------------------------------
>
>                 Key: JBESB-3511
>                 URL: https://jira.jboss.org/browse/JBESB-3511
>             Project: JBoss ESB
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Adapters
>    Affects Versions: 4.9
>         Environment: Windows XP, Java(TM) SE Runtime Environment (build 1.6.0_14-b08)
>            Reporter: Dushman Elvitigala
>            Assignee: Tom Fennelly
>
> Test was performed with the below configuration: 
> <providers>
> 		<camel-provider name="camelProvider1">
> 		<camel-bus busid="camelBus2">
> 		      <from uri="jpa://[classname]?persistenceUnit=cdrLoader&amp;consumer.namedQuery=loadRecords" />				
> 		</camel-bus>
> 		</camel-provider>
> 	</providers>
> 	<services>
> 		<service category="camelDbServiceCategory" name="camelDbService" description="databse service" invmScope="GLOBAL">
> 			<listeners>
> 				<camel-gateway  name="camelGateway2" busidref="camelBus2" />
> 			</listeners>
> 			<actions>
> 				<action name="action1" class="org.jboss.soa.esb.actions.SystemPrintln" />
> 			</actions>
> 		</service>
> 	</services>
> =====================================================
> <persistence-unit name="cdrLoader" transaction-type="RESOURCE_LOCAL">
> 		<non-jta-data-source>java:/cepDS</non-jta-data-source>
> 		<class>xxxxxx</class>
> 		<properties>
> 			<property name="hibernate.archive.autodetection" value="class, hbm" />
> 			<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
> 			<property name="hibernate.hbm2ddl.auto" value="update" />
> 			<property name="hibernate.show_sql" value="true" />
> 			<property name="hibernate.format_sql" value="true" />
> 		</properties>
> 	</persistence-unit>
> ======================================================
> Exception:
> ERROR [DefaultErrorHandler] Failed delivery for exchangeId: 3ed796b8-8e03-4538-91d4-e4fded1fdeac. Exhausted after delivery attempt: 1 caught: java.lang.IllegalArgumentException: Value of
> property 'CamelJpaTemplate' must implement java.io.Serializable.  Value is of type org.springframework.orm.jpa.JpaTemplate
> java.lang.IllegalArgumentException: Value of property 'CamelJpaTemplate' must implement java.io.Serializable.  Value is of type org.springframework.orm.jpa.JpaTemplate
>         at org.jboss.internal.soa.esb.message.format.xml.PropertiesImpl.setProperty(PropertiesImpl.java:77)
>         at org.jboss.soa.esb.listeners.gateway.camel.CamelMessageComposer.populateMessage(CamelMessageComposer.java:63)
>         at org.jboss.soa.esb.listeners.gateway.camel.CamelMessageComposer.populateMessage(CamelMessageComposer.java:41)
>         at org.jboss.soa.esb.listeners.message.AbstractMessageComposer.compose(AbstractMessageComposer.java:76)
>         at org.jboss.soa.esb.listeners.gateway.camel.ServiceProcessor.process(ServiceProcessor.java:48)
>         at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:95)
>         at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:65)
>         at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50)
>         at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>         at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104)
>         at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272)
>         at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98)
>         at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>         at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
>         at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
>         at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99)
>         at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>         at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:290)
>         at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:202)
>         at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:256)
>         at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:99)
>         at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
>         at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
>         at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
>         at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
>         at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)
>         at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
>         at org.apache.camel.component.jpa.JpaConsumer.processBatch(JpaConsumer.java:145)
>         at org.apache.camel.component.jpa.JpaConsumer$1.doInJpa(JpaConsumer.java:95)
>         at org.apache.camel.component.jpa.JpaTemplateTransactionStrategy$1$1.doInJpa(JpaTemplateTransactionStrategy.java:82)
>         at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:183)
>         at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:146)
>         at org.apache.camel.component.jpa.JpaTemplateTransactionStrategy$1.doInTransaction(JpaTemplateTransactionStrategy.java:80)
>         at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
>         at org.apache.camel.component.jpa.JpaTemplateTransactionStrategy.execute(JpaTemplateTransactionStrategy.java:78)
>         at org.apache.camel.component.jpa.JpaConsumer.poll(JpaConsumer.java:79)
>         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:885)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>         at java.lang.Thread.run(Thread.java:619)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the esb-issues mailing list