1 Reply Latest reply on Apr 14, 2010 9:10 PM by HuiSheng Xu

    Exception while executing timer

    Joe Schmoe Newbie

      Does anyone know why I would be getting the following exception with some of my jbpm 4.0 jobs?  This exception just started appearing in our logs.

       

      14:32:00,216 ERROR ExecuteJobCmd:40 - exception while executing  'timer[2809804|2010-04-14 12:31:52,000|timer]'
      javax.persistence.EntityNotFoundException: Unable to find  org.jbpm.pvm.internal.model.ExecutionImpl with id 2849283
           at  org.hibernate.ejb.Ejb3Configuration$Ejb3EntityNotFoundDelegate.handleEntityNotFound(Ejb3Configuration.java:113)
           at  org.hibernate.proxy.AbstractLazyInitializer.checkTargetState(AbstractLazyInitializer.java:154)
           at  org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:143)
           at  org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:174)
           at  org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:190)
           at  org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_33.signal(ExecutionImpl_$$_javassist_33.java)
           at org.jbpm.pvm.internal.job.TimerImpl.execute(TimerImpl.java:90)
           at org.jbpm.pvm.internal.job.TimerImpl.execute(TimerImpl.java:52)
           at  org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:76)
           at  org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:42)
           at  org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
           at  org.jbpm.pvm.internal.spring.CommandTransactionCallback.doInTransaction(CommandTransactionCallback.java:50)
           at  org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
           at  org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:77)
           at  org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:46)
           at  org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
           at  org.jbpm.pvm.internal.jobexecutor.JobParcel.run(JobParcel.java:48)
           at  java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
           at  java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
           at java.util.concurrent.FutureTask.run(FutureTask.java:138)
           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)
      14:32:00,217  INFO DefaultCommandService:52 - exception while executing  command org.jbpm.pvm.internal.cmd.ExecuteJobCmd@19589e4
      java.lang.NullPointerException
           at  org.jbpm.pvm.internal.cmd.ExecuteJobCmd.handleJobExecutionException(ExecuteJobCmd.java:113)
           at  org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:92)
           at  org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:42)
           at  org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
           at  org.jbpm.pvm.internal.spring.CommandTransactionCallback.doInTransaction(CommandTransactionCallback.java:50)
           at  org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
           at  org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:77)
           at  org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:46)
           at  org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
           at  org.jbpm.pvm.internal.jobexecutor.JobParcel.run(JobParcel.java:48)
           at  java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
           at  java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
           at java.util.concurrent.FutureTask.run(FutureTask.java:138)
           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)
      14:32:00,217 ERROR JobParcel:40 - exception in job block
      java.lang.NullPointerException
           at  org.jbpm.pvm.internal.cmd.ExecuteJobCmd.handleJobExecutionException(ExecuteJobCmd.java:113)
           at  org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:92)
           at  org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:42)
           at  org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
           at  org.jbpm.pvm.internal.spring.CommandTransactionCallback.doInTransaction(CommandTransactionCallback.java:50)
           at  org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
           at  org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:77)
           at  org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:46)
           at  org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55)
           at  org.jbpm.pvm.internal.jobexecutor.JobParcel.run(JobParcel.java:48)
           at  java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
           at  java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
           at java.util.concurrent.FutureTask.run(FutureTask.java:138)
           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 the relevant part of the process definition:

      {code:xml}

      <!-- See if it is time to notify vendor of contract expiration. -->
          <decision name="check_rejection_notification_period">
              <handler />
              <transition name="notify" to="send_expired_email" />
              <transition name="wait" to="rejected_timer" />
          </decision>
         
          <state name="rejected_timer">
              <transition name="timer" to="check_rejection_notification_period" >
                  <timer duedate="1 minute" />
              </transition>
          </state>

      {code}