[
https://jira.jboss.org/browse/JBESB-3511?page=com.atlassian.jira.plugin.s...
]
David Ward commented on JBESB-3511:
-----------------------------------
Actually, if a header is not Serializable, should the behavior be similar to the
MessagePayloadProxy's NullPayloadHandling? Specifically, do we let it be configurable
the behavior of 1) do nothing, 2) log a warning, or 3) throw an Exception if the header is
not Serializable? But maybe we default to #2? Just brainstorming here. Maybe we
don't need to get that fancy.
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&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