1 Reply Latest reply on Oct 1, 2010 11:18 AM by rohit_r

    jBPM 3.2.7 / WebSphere 7.0 / Oracle 10g - Timer not working

    rohit_r

      Hi all,

         first post here. I have deployed jBPM 3.2.7 on webpshere 7.0 and oracle 10g as database. A simple process works fine for me. But when I deploy a process which contains a state with timer on it I get the error shown below. Would really appreciate some help here.

      Thanks!

       

      Error below >>>>

       

      [9/30/10 19:58:34:977 EDT] 00000094 ProxyWarnLog  W org.hibernate.engine.StatefulPersistenceContext narrowProxy Narrowing proxy to class org.jbpm.graph.node.State - this operation breaks ==
      [9/30/10 19:58:35:008 EDT] 00000094 EntitySchedul E org.jbpm.scheduler.ejbtimer.EntitySchedulerService createTimer failed to retrieve entity for Timer(Wait2Min,2010-09-30 20:00:34,992,Token(/))
                                       javax.ejb.ObjectNotFoundException: 308
      at com.ibm.ejs.container.EJSHome.activateBean_Common(EJSHome.java:2097)
      at com.ibm.ejs.container.EJSHome.activateBean_Local(EJSHome.java:1954)
      at org.jbpm.ejb.EJSCMPTimerEntityBeanHomeBean_a0ee9f83.findByPrimaryKey_Local(Unknown Source)
      at org.jbpm.ejb.EJSLocalCMPTimerEntityBeanHome_a0ee9f83.findByPrimaryKey(Unknown Source)
      at org.jbpm.scheduler.ejbtimer.EntitySchedulerService.createTimer(EntitySchedulerService.java:44)
      at org.jbpm.scheduler.def.CreateTimerAction.execute(CreateTimerAction.java:80)
      at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:280)
      at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:237)
      at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:207)
      at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:190)
      at org.jbpm.graph.def.Node.enter(Node.java:358)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
      at java.lang.reflect.Method.invoke(Method.java:600)
      at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
      at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$de44cfb4.enter(<generated>)
      at org.jbpm.graph.def.Transition.take(Transition.java:151)
      at org.jbpm.graph.def.Node.leave(Node.java:453)
      at org.jbpm.graph.def.Node.leave(Node.java:415)
      at org.jbpm.graph.def.Node.execute(Node.java:407)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
      at java.lang.reflect.Method.invoke(Method.java:600)
      at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
      at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$de44cfb4.execute(<generated>)
      at org.jbpm.job.ExecuteNodeJob.execute(ExecuteNodeJob.java:28)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
      at java.lang.reflect.Method.invoke(Method.java:600)
      at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)
      at org.jbpm.job.Job$$EnhancerByCGLIB$$72c1f597.execute(<generated>)
      at org.jbpm.ejb.impl.ExecuteJobCommand.executeJob(ExecuteJobCommand.java:78)
      at org.jbpm.ejb.impl.ExecuteJobCommand.execute(ExecuteJobCommand.java:53)
      at org.jbpm.ejb.impl.CommandServiceBean.execute(CommandServiceBean.java:147)
      at org.jbpm.ejb.EJSLocalStatelessCommandServiceBean_04d87f85.execute(Unknown Source)
      at org.jbpm.ejb.impl.CommandListenerBean.onMessage(CommandListenerBean.java:111)
      at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java:1092)
      at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java:777)
      at $Proxy97.onMessage(Unknown Source)
      at com.ibm.ws.sib.api.jmsra.impl.JmsJcaEndpointInvokerImpl.invokeEndpoint(JmsJcaEndpointInvokerImpl.java:233)
      at com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.dispatch(SibRaDispatcher.java:900)
      at com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaWork.run(SibRaSingleProcessListener.java:550)
      at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:399)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)

      [9/30/10 19:58:34:977 EDT] 00000094 ProxyWarnLog  W org.hibernate.engine.StatefulPersistenceContext narrowProxy Narrowing proxy to class org.jbpm.graph.node.State - this operation breaks ==

      [9/30/10 19:58:35:008 EDT] 00000094 EntitySchedul E org.jbpm.scheduler.ejbtimer.EntitySchedulerService createTimer failed to retrieve entity for Timer(Wait2Min,2010-09-30 20:00:34,992,Token(/))

                                       javax.ejb.ObjectNotFoundException: 308

      at com.ibm.ejs.container.EJSHome.activateBean_Common(EJSHome.java:2097)

      at com.ibm.ejs.container.EJSHome.activateBean_Local(EJSHome.java:1954)

      at org.jbpm.ejb.EJSCMPTimerEntityBeanHomeBean_a0ee9f83.findByPrimaryKey_Local(Unknown Source)

      at org.jbpm.ejb.EJSLocalCMPTimerEntityBeanHome_a0ee9f83.findByPrimaryKey(Unknown Source)

      at org.jbpm.scheduler.ejbtimer.EntitySchedulerService.createTimer(EntitySchedulerService.java:44)

      at org.jbpm.scheduler.def.CreateTimerAction.execute(CreateTimerAction.java:80)

      at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:280)

      at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:237)

      at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:207)

      at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:190)

      at org.jbpm.graph.def.Node.enter(Node.java:358)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

      at java.lang.reflect.Method.invoke(Method.java:600)

      at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)

      at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$de44cfb4.enter(<generated>)

      at org.jbpm.graph.def.Transition.take(Transition.java:151)

      at org.jbpm.graph.def.Node.leave(Node.java:453)

      at org.jbpm.graph.def.Node.leave(Node.java:415)

      at org.jbpm.graph.def.Node.execute(Node.java:407)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

      at java.lang.reflect.Method.invoke(Method.java:600)

      at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)

      at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$de44cfb4.execute(<generated>)

      at org.jbpm.job.ExecuteNodeJob.execute(ExecuteNodeJob.java:28)

      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

      at java.lang.reflect.Method.invoke(Method.java:600)

      at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)

      at org.jbpm.job.Job$$EnhancerByCGLIB$$72c1f597.execute(<generated>)

      at org.jbpm.ejb.impl.ExecuteJobCommand.executeJob(ExecuteJobCommand.java:78)

      at org.jbpm.ejb.impl.ExecuteJobCommand.execute(ExecuteJobCommand.java:53)

      at org.jbpm.ejb.impl.CommandServiceBean.execute(CommandServiceBean.java:147)

      at org.jbpm.ejb.EJSLocalStatelessCommandServiceBean_04d87f85.execute(Unknown Source)

      at org.jbpm.ejb.impl.CommandListenerBean.onMessage(CommandListenerBean.java:111)

      at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java:1092)

      at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java:777)

      at $Proxy97.onMessage(Unknown Source)

      at com.ibm.ws.sib.api.jmsra.impl.JmsJcaEndpointInvokerImpl.invokeEndpoint(JmsJcaEndpointInvokerImpl.java:233)

      at com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.dispatch(SibRaDispatcher.java:900)

      at com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaWork.run(SibRaSingleProcessListener.java:550)

      at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:399)

      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)

       

        • 1. Re: jBPM 3.2.7 / WebSphere 7.0 / Oracle 10g - Timer not working
          rohit_r

          Turned out to be user error. WebSphere specific CMP to RDB mappings were incorrect. I did the mapping by taking a look at jbosscmp-jdbc.xml. Now the timer works fine. But I see another scheduler related error in WebSphere logs though it does not seem to affect the processing.

           

           

          [10/1/10 11:06:12:820 EDT]     FFDC Exception:com.ibm.websphere.scheduler.TaskPending SourceId:com.ibm.ws.scheduler.AlarmListener.handleUpdateException ProbeId:700 Reporter:com.ibm.ws.scheduler.AlarmListener@75a375a3

          com.ibm.websphere.scheduler.TaskPending: SCHD0059W: The task information for task ID 52 for scheduler WebSphere_EJB_Timer_Service (WebSphere_EJB_Timer_Service) cannot be removed from the database because the task does not exist or the task information has already been removed by another Scheduler.

          at com.ibm.ws.scheduler.TaskStoreImpl.remove(TaskStoreImpl.java:831)

          at com.ibm.ws.scheduler.AlarmListener.updateTask(AlarmListener.java:1047)

          at com.ibm.ws.scheduler.AlarmListener.access$300(AlarmListener.java:121)

          at com.ibm.ws.scheduler.AlarmListener$TaskWork.doWork(AlarmListener.java:502)

          at com.ibm.ws.scheduler.AlarmListener$TaskWork.run(AlarmListener.java:213)

          at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:268)

          at java.security.AccessController.doPrivileged(AccessController.java:224)

          at javax.security.auth.Subject.doAs(Subject.java:495)

          at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:131)

          at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:89)

          at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.java:335)

          at java.security.AccessController.doPrivileged(AccessController.java:251)

          at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:777)

          at com.ibm.ws.asynchbeans.ExecutionContextImpl.go(ExecutionContextImpl.java:86)

          at com.ibm.ws.scheduler.AlarmListener.fireTask(AlarmListener.java:1401)

          at com.ibm.ws.scheduler.AlarmListener.fired(AlarmListener.java:1319)

          at com.ibm.ws.asynchbeans.AlarmImpl.callListenerMethod(AlarmImpl.java:340)

          at com.ibm.ws.asynchbeans.timer.GenericTimer.run(GenericTimer.java:216)

          at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:264)

          at java.security.AccessController.doPrivileged(AccessController.java:224)

          at javax.security.auth.Subject.doAs(Subject.java:495)

          at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:131)

          at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:89)

          at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.java:335)

          at java.security.AccessController.doPrivileged(AccessController.java:251)

          at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:1146)

          at com.ibm.ws.asynchbeans.AlarmImpl.runListenerAsCJWork(AlarmImpl.java:175)

          at com.ibm.ws.asynchbeans.am._Alarm.fireAlarm(_Alarm.java:333)

          at com.ibm.ws.asynchbeans.am._Alarm.run(_Alarm.java:230)

          at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)



          [10/1/10 11:06:12:820 EDT]     FFDC Exception:com.ibm.websphere.scheduler.TaskPending SourceId:com.ibm.ws.scheduler.AlarmListener.handleUpdateException ProbeId:700 Reporter:com.ibm.ws.scheduler.AlarmListener@75a375a3
          com.ibm.websphere.scheduler.TaskPending: SCHD0059W: The task information for task ID 52 for scheduler WebSphere_EJB_Timer_Service (WebSphere_EJB_Timer_Service) cannot be removed from the database because the task does not exist or the task information has already been removed by another Scheduler.
          at com.ibm.ws.scheduler.TaskStoreImpl.remove(TaskStoreImpl.java:831)
          at com.ibm.ws.scheduler.AlarmListener.updateTask(AlarmListener.java:1047)
          at com.ibm.ws.scheduler.AlarmListener.access$300(AlarmListener.java:121)
          at com.ibm.ws.scheduler.AlarmListener$TaskWork.doWork(AlarmListener.java:502)
          at com.ibm.ws.scheduler.AlarmListener$TaskWork.run(AlarmListener.java:213)
          at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:268)
          at java.security.AccessController.doPrivileged(AccessController.java:224)
          at javax.security.auth.Subject.doAs(Subject.java:495)
          at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:131)
          at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:89)
          at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.java:335)
          at java.security.AccessController.doPrivileged(AccessController.java:251)
          at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:777)
          at com.ibm.ws.asynchbeans.ExecutionContextImpl.go(ExecutionContextImpl.java:86)
          at com.ibm.ws.scheduler.AlarmListener.fireTask(AlarmListener.java:1401)
          at com.ibm.ws.scheduler.AlarmListener.fired(AlarmListener.java:1319)
          at com.ibm.ws.asynchbeans.AlarmImpl.callListenerMethod(AlarmImpl.java:340)
          at com.ibm.ws.asynchbeans.timer.GenericTimer.run(GenericTimer.java:216)
          at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:264)
          at java.security.AccessController.doPrivileged(AccessController.java:224)
          at javax.security.auth.Subject.doAs(Subject.java:495)
          at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:131)
          at com.ibm.websphere.security.auth.WSSubject.doAs(WSSubject.java:89)
          at com.ibm.ws.asynchbeans.J2EEContext$DoAsProxy.run(J2EEContext.java:335)
          at java.security.AccessController.doPrivileged(AccessController.java:251)
          at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:1146)
          at com.ibm.ws.asynchbeans.AlarmImpl.runListenerAsCJWork(AlarmImpl.java:175)
          at com.ibm.ws.asynchbeans.am._Alarm.fireAlarm(_Alarm.java:333)
          at com.ibm.ws.asynchbeans.am._Alarm.run(_Alarm.java:230)
          at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)