hi,

I am having an issue in application using jpa (as consumer), following is
the camel context.

<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
       xmlns:camel="http://camel.apache.org/schema/blueprint";
        xmlns:jpa="http://aries.apache.org/xmlns/jpa/v1.1.0";
       xsi:schemaLocation="
       http://www.osgi.org/xmlns/blueprint/v1.0.0
http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
       http://camel.apache.org/schema/blueprint
http://camel.apache.org/schema/blueprint/camel-blueprint.xsd
       http://aries.apache.org/xmlns/jpa/v1.1.0
http://aries.apache.org/schemas/jpa/jpa_110.xsd";> 


  <bean id="purchaseOrder" class="manchanda.lalit.TestJpa.PurchaseOrder"/>

  <camelContext trace="false" id="blueprintContext"
xmlns="http://camel.apache.org/schema/blueprint";>
   <camel:route id="fetch-from-db-print">
   <from uri="jpa://manchanda.lalit.TestJpa.PurchaseOrder"/>
   <to uri="log:manchanda.lalit.TestJpa.PurchaseOrder?level=DEBUG" />
   </camel:route>
</camelContext>

 <bean id="jpa" class="org.apache.camel.component.jpa.JpaComponent">
        <jpa:unit unitname="camel-openjpa" property="entityManagerFactory"/>
    </bean>


         <bean id="dataSource" class="org.postgresql.ds.PGPoolingDataSource"
destroy-method="close">
      <property name="serverName" value="localhost:5432/AMP"/>
      <property name="user" value="postgres"/>
      <property name="password" value="airtel@123"/>
      <property name="dataSourceName" value="myConnectionPool"/>
      <property name="initialConnections" value="2"/>
      <property name="maxConnections" value="4" />
  </bean>
  
  <service interface="javax.sql.DataSource" ref="dataSource">
    <service-properties>
            <entry key="osgi.jndi.service.name" value="jdbc/postgresds"/>
    </service-properties>
  </service>

</blueprint>




Following is the persistence.xml


<?xml version="1.0" encoding="UTF-8"?>

<persistence xmlns="http://java.sun.com/xml/ns/persistence"; 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; version="1.0">
 
  <persistence-unit name="camel-openjpa" transaction-type="RESOURCE_LOCAL">
  <provider>
         org.apache.openjpa.persistence.PersistenceProviderImpl
   </provider>
  
<jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/postgresds</jta-data-source>
  
<non-jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/postgresds)</non-jta-data-source>
     <class>manchanda.lalit.TestJpa.PurchaseOrder</class>
     <exclude-unlisted-classes>true</exclude-unlisted-classes>
    
    <properties>
      <property name="openjpa.Log" value="DefaultLevel=INFO, Tool=INFO"/>
      <property name="openjpa.jdbc.DBDictionary" value="postgres"/>
      <property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(ForeignKeys=true)"/>
    </properties>

  </persistence-unit>

    
</persistence>



*When I start the application I get the following error, seems I am missing
something basic, though I have checked some samples but no way forward.*

22:32:25,963 | DEBUG | pa.PurchaseOrder | JpaTransactionManager            |
136 - org.springframework.transaction - 3.1.3.RELEASE | Creating new
transaction with name [null]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT^M
22:32:25,963 | DEBUG | pa.PurchaseOrder | JpaTransactionManager            |
136 - org.springframework.transaction - 3.1.3.RELEASE | Opened new
EntityManager
[org.apache.aries.jpa.container.impl.EntityManagerWrapper@1e2510c] for JPA
transaction^M
22:32:25,966 | DEBUG | pa.PurchaseOrder | JpaConsumer                      |
244 - org.apache.camel.camel-jpa - 2.10.0.redhat-60024 | Acquiring exclusive
lock on entity: null^M
22:32:25,966 | DEBUG | pa.PurchaseOrder | JpaConsumer                      |
244 - org.apache.camel.camel-jpa - 2.10.0.redhat-60024 | Failed to achieve
lock on entity: null. Reason: java.lang.IllegalArgumentException: lock can
not be invoked on "null". This entity is either detached or not persistent
or null.^M
java.lang.IllegalArgumentException: lock can not be invoked on "null". This
entity is either detached or not persistent or null.^M
        at
org.apache.openjpa.persistence.EntityManagerImpl.assertValidAttchedEntity(EntityManagerImpl.java:1385)[243:org.apache.openjpa:2.2.0]^M
        at
org.apache.openjpa.persistence.EntityManagerImpl.lock(EntityManagerImpl.java:1199)[243:org.apache.openjpa:2.2.0]^M
        at
org.apache.openjpa.persistence.EntityManagerImpl.lock(EntityManagerImpl.java:1188)[243:org.apache.openjpa:2.2.0]^M
        at
org.apache.aries.jpa.container.impl.EntityManagerWrapper.lock(EntityManagerWrapper.java:169)^M
        at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)^M
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_43]^M
        at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_43]^M
        at
org.springframework.orm.jpa.JpaTemplate$CloseSuppressingInvocationHandler.invoke(JpaTemplate.java:429)[242:org.springframework.orm:3.1.3.RELEASE]^M
        at com.sun.proxy.$Proxy42.lock(Unknown
Source)[256:org.apache.aries.jpa.container:1.0.1.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaConsumer.lockEntity(JpaConsumer.java:262)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaConsumer.processBatch(JpaConsumer.java:150)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaConsumer$1.doInJpa(JpaConsumer.java:97)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy$1$1.doInJpa(JpaTemplateTransactionStrategy.java:82)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:187)[242:org.springframework.orm:3.1.3.RELEASE]^M
        at
org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:150)[242:org.springframework.orm:3.1.3.RELEASE]^M
        at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy$1.doInTransaction(JpaTemplateTransactionStrategy.java:80)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)[136:org.springframework.transaction:3.1.3.RELEASE]^M
        at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy.execute(JpaTemplateTransactionStrategy.java:78)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaConsumer.poll(JpaConsumer.java:75)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:142)[130:org.apache.camel.camel-core:2.10.0.redhat-60024]^M
        at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:92)[130:org.apache.camel.camel-core:2.10.0.redhat-60024]^M
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)[:1.6.0_43]^M
        at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)[:1.6.0_43]^M
        at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)[:1.6.0_43]^M
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)[:1.6.0_43]^M
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)[:1.6.0_43]^M
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)[:1.6.0_43]^M
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)[:1.6.0_43]^M
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)[:1.6.0_43]^M
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_43]^M
22:32:25,970 | WARN  | pa.PurchaseOrder | JpaConsumer                      |
244 - org.apache.camel.camel-jpa - 2.10.0.redhat-60024 | Error processing
last message due: java.lang.NullPointerException. Will commit all previous
successful processed message, and ignore this last failure.^M
javax.persistence.PersistenceException: java.lang.NullPointerException^M
        at
org.apache.camel.component.jpa.JpaConsumer$1.doInJpa(JpaConsumer.java:102)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy$1$1.doInJpa(JpaTemplateTransactionStrategy.java:82)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:187)[242:org.springframework.orm:3.1.3.RELEASE]^M
 at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy$1.doInTransaction(JpaTemplateTransactionStrategy.java:80)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)[136:org.springframework.transaction:3.1.3.RELEASE]^M
        at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy.execute(JpaTemplateTransactionStrategy.java:78)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaConsumer.poll(JpaConsumer.java:75)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:142)[130:org.apache.camel.camel-core:2.10.0.redhat-60024]^M
        at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:92)[130:org.apache.camel.camel-core:2.10.0.redhat-60024]^M
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)[:1.6.0_43]^M
        at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)[:1.6.0_43]^M
        at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)[:1.6.0_43]^M
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)[:1.6.0_43]^M
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)[:1.6.0_43]^M
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)[:1.6.0_43]^M
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)[:1.6.0_43]^M
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)[:1.6.0_43]^M
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_43]^M
22:32:25,970 | WARN  | pa.PurchaseOrder | JpaConsumer                      |
244 - org.apache.camel.camel-jpa - 2.10.0.redhat-60024 | Error processing
last message due: java.lang.NullPointerException. Will commit all previous
successful processed message, and ignore this last failure.^M
javax.persistence.PersistenceException: java.lang.NullPointerException^M
        at
org.apache.camel.component.jpa.JpaConsumer$1.doInJpa(JpaConsumer.java:102)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy$1$1.doInJpa(JpaTemplateTransactionStrategy.java:82)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:187)[242:org.springframework.orm:3.1.3.RELEASE]^M
        at
org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:150)[242:org.springframework.orm:3.1.3.RELEASE]^M
        at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy$1.doInTransaction(JpaTemplateTransactionStrategy.java:80)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)[136:org.springframework.transaction:3.1.3.RELEASE]^M
        at
org.apache.camel.component.jpa.JpaTemplateTransactionStrategy.execute(JpaTemplateTransactionStrategy.java:78)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaConsumer.poll(JpaConsumer.java:75)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:142)[130:org.apache.camel.camel-core:2.10.0.redhat-60024]^M
        at
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:92)[130:org.apache.camel.camel-core:2.10.0.redhat-60024]^M
        at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)[:1.6.0_43]^M
        at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)[:1.6.0_43]^M
        at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)[:1.6.0_43]^M
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)[:1.6.0_43]^M
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)[:1.6.0_43]^M
        at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)[:1.6.0_43]^M
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)[:1.6.0_43]^M
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)[:1.6.0_43]^M
        at java.lang.Thread.run(Thread.java:662)[:1.6.0_43]^M
Caused by: java.lang.NullPointerException^M
        at
org.apache.camel.component.jpa.JpaConsumer.lockEntity(JpaConsumer.java:270)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaConsumer.processBatch(JpaConsumer.java:150)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        at
org.apache.camel.component.jpa.JpaConsumer$1.doInJpa(JpaConsumer.java:97)[244:org.apache.camel.camel-jpa:2.10.0.redhat-60024]^M
        ... 18 more^M
22:32:25,971 | DEBUG | pa.PurchaseOrder | JpaConsumer                      |
244 - org.apache.camel.camel-jpa - 2.10.0.redhat-60024 | Flushing
EntityManager^M
22:32:25,971 | DEBUG | pa.PurchaseOrder | JpaTransactionManager            |
136 - org.springframework.transaction - 3.1.3.RELEASE | Initiating
transaction commit^M
22:32:25,972 | DEBUG | pa.PurchaseOrder | JpaTransactionManager            |
136 - org.springframework.transaction - 3.1.3.RELEASE | Committing JPA
transaction on EntityManager
[org.apache.aries.jpa.container.impl.EntityManagerWrapper@1e2510c]^M
22:32:25,972 | DEBUG | pa.PurchaseOrder | JpaTransactionManager            |
136 - org.springframework.transaction - 3.1.3.RELEASE | Closing JPA
EntityManager
[org.apache.aries.jpa.container.impl.EntityManagerWrapper@1e2510c] after
transaction^M





--
View this message in context: 
http://camel.465427.n5.nabble.com/camel-jpa-issue-tp5733238.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to