You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by chanducompute <ch...@yahoo.co.in> on 2014/07/04 11:07:39 UTC

JPA endpint consumer not working

Hi,

I am new camel and tried using JPA end point in my code.

Belos is the Java DSL route
from("timer:refresh?period=2m")
			
.to("jpa:com.nielsen.engineering.mediaworks.example.jee6.lib.persistence.entity.ParameterMappings?consumer.namedQuery=chandra")
				.log("${body}");

Here is my persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
	xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">

	<persistence-unit name="OpsConsoleDB" transaction-type="RESOURCE_LOCAL">
	
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
		
		

	
<class>com.nielsen.engineering.mediaworks.example.jee6.lib.persistence.entity.JobCodeMappings</class>
	
<class>com.nielsen.engineering.mediaworks.example.jee6.lib.persistence.entity.ParameterMappings</class>
	
<class>com.nielsen.engineering.mediaworks.example.jee6.lib.persistence.entity.StatusCodeMappings</class>

		<properties>
			<property name="hibernate.default_schema" value="opsBridge" />
			<property name="hibernate.dialect"
value="org.hibernate.dialect.PostgreSQLDialect" />
			<property name="hibernate.jdbc.batch_size" value="20" />
			<property name="hibernate.transaction.manager_lookup_class"
value="org.hibernate.transaction.JBossTransactionManagerLookup" />
			<property name="hibernate.show_sql" value="true" />
		</properties>
	</persistence-unit>
</persistence>

Below is my camel context file snippet
<bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
		<property name="entityManagerFactory" ref="opsEMFactory" />
		<property name="transactionManager" ref="opsTxManager" />
	</bean>

	<bean id="opsTxManager"
class="org.springframework.orm.jpa.JpaTransactionManager">
		<property name="entityManagerFactory" ref="opsEMFactory" />
	</bean>

	<bean id="opsEMFactory"
		class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
		<property name="persistenceUnitName" value="OpsConsoleDB" />
	</bean>

When I deploy the application. The camel is invoking the timer component but
at JPA execution I am getting the below exception.
Exchange
---------------------------------------------------------------------------------------------------------------------------------------
Exchange[
	Id                  ID-E0685F1L-50180-1404458135473-0-2
	ExchangePattern     InOnly
	Headers             {breadcrumbId=ID-E0685F1L-50180-1404458135473-0-1,
CamelEntityManager=org.hibernate.ejb.EntityManagerImpl@79de0e,
CamelRedelivered=false, CamelRedeliveryCounter=0, firedTime=Fri Jul 04
12:45:37 IST 2014}
	BodyType            null
	Body                [Body is null]
]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------:
org.apache.camel.InvalidPayloadRuntimeException: No body available of type:
com.nielsen.engineering.mediaworks.example.jee6.lib.persistence.entity.ParameterMappings
on: Message: [Body is null]. Caused by: No type converter available to
convert from type: null to the required type:
com.nielsen.engineering.mediaworks.example.jee6.lib.persistence.entity.ParameterMappings
with value null on the exchange: Exchange[Message: [Body is null]]
	at
org.apache.camel.component.jpa.JpaEndpoint$1.evaluate(JpaEndpoint.java:289)
[camel-jpa-2.12.2.jar:2.12.2]
	at
org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:36)
[camel-core-2.12.2.jar:2.12.2]
	at org.apache.camel.component.jpa.JpaProducer.process(JpaProducer.java:56)
[camel-jpa-2.12.2.jar:2.12.2]
	at
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:132)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:307)
[camel-core-2.12.2.jar:2.12.2]
	at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:127)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
[camel-core-2.12.2.jar:2.12.2]
	at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
[camel-core-2.12.2.jar:2.12.2]
	at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:139)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:64)
[camel-core-2.12.2.jar:2.12.2]
	at java.util.TimerThread.mainLoop(Timer.java:555) [rt.jar:1.7.0_51]
	at java.util.TimerThread.run(Timer.java:505) [rt.jar:1.7.0_51]
Caused by: org.apache.camel.NoTypeConversionAvailableException: No type
converter available to convert from type: null to the required type:
com.nielsen.engineering.mediaworks.example.jee6.lib.persistence.entity.ParameterMappings
with value null
	at
org.apache.camel.impl.converter.BaseTypeConverterRegistry.mandatoryConvertTo(BaseTypeConverterRegistry.java:181)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.impl.MessageSupport.getMandatoryBody(MessageSupport.java:99)
[camel-core-2.12.2.jar:2.12.2]
	at
org.apache.camel.component.jpa.JpaEndpoint$1.evaluate(JpaEndpoint.java:286)
[camel-jpa-2.12.2.jar:2.12.2]
	... 16 more

======
Can some one please help me resolve this?





--
View this message in context: http://camel.465427.n5.nabble.com/JPA-endpint-consumer-not-working-tp5753331.html
Sent from the Camel - Users mailing list archive at Nabble.com.