Hi, I have created a project using camel jpa component :
Spring DAO Bundle ********************** <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="reportincident"/> <property name="dataSource" ref="reportdb"/> <property name="jpaVendorAdapter"> <bean id="jpaAdapter" class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter"> <property name="databasePlatform" value="org.apache.openjpa.jdbc.sql.HSQLDictionary"/> <property name="showSql" value="true"/> <property name="database" value="HSQL"/> </bean> </property> </bean> <bean id="reportdb" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="org.hsqldb.jdbcDriver"/> <property name="url" value="jdbc:hsqldb:hsql://localhost/reportdb"/> <property name="username" value="sa"/> <property name="password" value=""/> </bean> <!-- Expose EntityManagerFactory --> <osgi:service ref="entityManagerFactory" interface="javax.persistence.EntityManagerFactory"/> Camel bundle **************** <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent"> <property name="entityManagerFactory"> <osgi:reference interface="javax.persistence.EntityManagerFactory"/> </property> </bean> <route id="queue-create-incident"> <from uri="activemq:queue:incident"/> <log message=">>> Incident received : ${body}"/> <to uri="jpa://com.fusesource.webinars.persistence.model.Incident"/> <log message=">>> Record inserted : ${body}"/> </route> My JPA component receives the object to insert into the DB but Unfortunately I get this error : Caused by: java.lang.NoClassDefFoundError: Could not initialize class $Proxy46 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.6.0_24] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)[:1.6.0_24] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)[:1.6.0_24] at java.lang.reflect.Constructor.newInstance(Constructor.java:513)[:1.6.0_24] at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:588)[:1.6.0_24] at org.springframework.orm.jpa.ExtendedEntityManagerCreator.createProxy(ExtendedEntityManagerCreator.java:264) at org.springframework.orm.jpa.ExtendedEntityManagerCreator.createProxy(ExtendedEntityManagerCreator.java:229) at org.springframework.orm.jpa.ExtendedEntityManagerCreator.createApplicationManagedEntityManager(ExtendedEntityManagerCreator.java:110) The issue is perhaps related to the fact that I try to retrieve the EntityManagerFactory using OSGI Service. Is there an alternative ? Regards, Charles Moulliard Sr. Principal Solution Architect - FuseSource Apache Committer Blog : http://cmoulliard.blogspot.com Twitter : http://twitter.com/cmoulliard Linkedin : http://www.linkedin.com/in/charlesmoulliard Skype: cmoulliard