0 Replies Latest reply on Apr 16, 2013 11:45 AM by zalmolksis

    timer in sub-process differences jbpm4.3  -  jbpm 4.4

    zalmolksis

      we are updating in our sistem from jbpm 4.3 to 4.4 and we have a problem with timeout timer in subprocess

       

      this code is working in jbpm 4.3 :

       

       

             <sub-process  name="prc1" sub-process-key="prc1">
                          <parameter-in subvar="pc" var="pc"/>
                          <parameter-out subvar="pc" var="pc"/>
                          <transition  name="timeout" to="prcTimedOut">
                                    <timer duedate="#{dueTimeInSeconds}"/>
                          </transition>
                          <transition  name="end" to="markProcessAsEnded"/>
                </sub-process>
        
                <java continue="async" expr="#{prcProcessor}"  method="prcTimeout" name="prcTimedOut">
                          <arg><object expr="#{pc}"/></arg>
                          <transition to="markProcessAsEnded"/>
                </java>
      
      

       

       

      in jbpm 4.4 we get exception when timer fires :

       

       

      [16/04/13 18:39:03:003] [pool-11-thread-1] ERROR org.jbpm.pvm.internal.cmd.ExecuteJobCmd: exception while executing 'timer[140008|2013-04-16 18:38:57|timeout]'
      org.jbpm.api.JbpmException: execution[prcMain.9JPOVJXl7JQQTnSvyZWJzQAAAAAAAAAAAAAAAAAAAAA=.prc1.140007] has running subprocess: execution[prc1.140009] in state active-root
                at org.jbpm.pvm.internal.model.ExecutionImpl.checkActive(ExecutionImpl.java:1086)
                at org.jbpm.pvm.internal.model.ExecutionImpl.signal(ExecutionImpl.java:424)
                at org.jbpm.pvm.internal.model.ExecutionImpl.signal(ExecutionImpl.java:416)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                at java.lang.reflect.Method.invoke(Method.java:597)
                at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
                at org.jbpm.pvm.internal.model.ExecutionImpl$$EnhancerByCGLIB$$80e585a7.signal(<generated>)
                at org.jbpm.pvm.internal.job.TimerImpl.execute(TimerImpl.java:92)
                at org.jbpm.pvm.internal.job.TimerImpl.execute(TimerImpl.java:50)
                at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:79)
                at org.jbpm.pvm.internal.cmd.ExecuteJobCmd.execute(ExecuteJobCmd.java:41)
                at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
                at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45)
                at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
                at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49)
                at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
                at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
                at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
                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:662)
      
      

       

       

      can someone point me to a good documentation , because in developer guide I dit not found info  i need

       

      Thanks !