You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Sergey Zhemzhitsky (JIRA)" <ji...@apache.org> on 2010/11/12 11:17:25 UTC

[jira] Commented: (CAMEL-3335) NPE occurs without @Entity annotation

    [ https://issues.apache.org/activemq/browse/CAMEL-3335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=63296#action_63296 ] 

Sergey Zhemzhitsky commented on CAMEL-3335:
-------------------------------------------

You're welcome

> NPE occurs without @Entity annotation
> -------------------------------------
>
>                 Key: CAMEL-3335
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3335
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-jpa
>    Affects Versions: 2.4.0
>            Reporter: Sergey Zhemzhitsky
>            Assignee: Claus Ibsen
>             Fix For: 2.6.0
>
>
> Here is code from the org.apache.camel.component.jpa.JpaConsumer class
> protected String getEntityName(Class<?> clazz) {
>         
>     Entity entity = clazz.getAnnotation(Entity.class);
>         
>     // Check if the property name has been defined for Entity annotation
>     if (!entity.name().equals("")) { // line 307
>         return entity.name();
>     } else {
>         return null;
>     }
>  
> }
> When trying to consume entities from jpa endpoint exception occurs
> java.lang.NullPointerException
> 	at org.apache.camel.component.jpa.JpaConsumer.getEntityName(JpaConsumer.java:307)
> 	at org.apache.camel.component.jpa.JpaConsumer.createQueryFactory(JpaConsumer.java:287)
> 	at org.apache.camel.component.jpa.JpaConsumer.getQueryFactory(JpaConsumer.java:196)
> 	at org.apache.camel.component.jpa.JpaConsumer$1.doInJpa(JpaConsumer.java:83)
> 	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:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:619)
> This is because there is no @Entity annotation and persistence is configured by means of orm.xml.
> To fix the problem change line 307 to
> if (entity != null && !entity.name().equals(""))

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.