1 Reply Latest reply on Jan 6, 2009 5:17 AM by dhanushgopinath

    executing process with timer

    boxwala

      I am encountering an error trying to execute a process that has a timer. I am running jbpm 3.2.1 in its app-server form, using the ear file, on jboss AS 4.2.1.GA.

      The only change we made in the ear was to modify the hibernate config file since we switched the DBMS to MSSQL 2005. That seems to work okay when we execute processes without timer.

      However, in trying to execute a process with timer, there is an issue with the TimerServiceBean not being found. I understand from the documentation that the jbpm-enterprise.jar includes the deployment descriptors for JBoss AS. Did I miss a configuration step in setting up ejb/LocalTimerEntityBean?

      13:09:16,632 ERROR [EjbSchedulerService] javax.naming.NameNotFoundException: ejb not bound
      13:09:16,633 ERROR [GraphElement] action threw exception: ejb local timer lookup problem
      org.jbpm.JbpmException: ejb local timer lookup problem
       at org.jbpm.scheduler.ejbtimer.EjbSchedulerService.<init>(EjbSchedulerService.java:34)
       at org.jbpm.scheduler.ejbtimer.EjbSchedulerServiceFactory.openService(EjbSchedulerServiceFactory.java:11)
       at org.jbpm.svc.Services.getService(Services.java:141)
       at org.jbpm.svc.Services.getCurrentService(Services.java:88)
       at org.jbpm.svc.Services.getCurrentService(Services.java:81)
       at org.jbpm.scheduler.def.CreateTimerAction.execute(CreateTimerAction.java:66)
       at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:255)
       at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:220)
      
       at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:190)
       at org.jbpm.graph.def.GraphElement.fireEvent(GraphElement.java:174)
       at org.jbpm.graph.def.Node.enter(Node.java:302)
       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:585)
       at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
       at org.jbpm.graph.def.Node_$$_javassist_119.enter(Node_$$_javassist_119.java)
       at org.jbpm.graph.def.Transition.take(Transition.java:151)
       at org.jbpm.graph.def.Node.leave(Node.java:393)
       at org.jbpm.graph.node.StartState.leave(StartState.java:70)
       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:585)
       at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)
       at org.jbpm.graph.def.Node_$$_javassist_119.leave(Node_$$_javassist_119.java)
       at org.jbpm.graph.exe.Token.signal(Token.java:194)
       at org.jbpm.graph.exe.Token.signal(Token.java:139)
       at org.jbpm.graph.exe.ProcessInstance.signal(ProcessInstance.java:270)
       at com.example.processexecutor.ProcessManager.spawnProcessInstance(ProcessManager.java:75)
       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:585)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
       at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
       at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
       at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
       at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
       at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
       at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
       at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
       at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
       at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
       at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:106)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
       at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
       at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
       at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
       at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(StatelessContainer.java:278)
       at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
       at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
       at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:734)
       at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:560)
       at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:369)
       at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:165)
      Caused by: javax.naming.NameNotFoundException: ejb not bound
       at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
       at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
       at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
       at org.jnp.server.NamingServer.lookup(NamingServer.java:267)
       at org.jnp.server.NamingServer.lookup(NamingServer.java:270)
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
       at org.jboss.ejb3.naming.MultiplexerContext.lookup(MultiplexerContext.java:200)
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:718)
       at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:589)
       at javax.naming.InitialContext.lookup(InitialContext.java:351)
       at org.jbpm.scheduler.ejbtimer.EjbSchedulerService.<init>EjbSchedulerService.java:31)
       ... 62 more
      


      This is the output on the console when the ear is initialized:


      10:07:07,668 INFO [EjbModule] Deploying CommandServiceBean
      10:07:07,735 INFO [EjbModule] Deploying TimerServiceBean
      10:07:07,742 INFO [EjbModule] Deploying CommandListenerBean
      10:07:07,767 INFO [EjbModule] Deploying JobListenerBean
      10:07:07,876 INFO [BaseLocalProxyFactory] Bound EJB LocalHome 'CommandServiceBean' to jndi 'CommandServiceBean'
      10:07:07,925 INFO [ProxyFactory] Bound EJB Home 'CommandServiceBean' to jndi 'ejb/CommandServiceBean'
      10:07:07,937 INFO [BaseLocalProxyFactory] Bound EJB LocalHome 'TimerServiceBean' to jndi 'local/TimerServiceBean@22952850'
      10:07:07,997 WARN [JMSContainerInvoker] Could not find the queue destination-jndi-name=queue/JbpmCommandQueue
      10:07:07,998 WARN [JMSContainerInvoker] destination not found: queue/JbpmCommandQueue reason: javax.naming.NameNotFoundException: JbpmCommandQueue not bound
      10:07:07,999 WARN [JMSContainerInvoker] creating a new temporary destination: queue/JbpmCommandQueue
      10:07:08,007 INFO [JbpmCommandQueue] Bound to JNDI name: queue/JbpmCommandQueue
      
      10:07:08,078 WARN [JMSContainerInvoker] Could not find the queue destination-jndi-name=queue/JbpmJobQueue
      10:07:08,079 WARN [JMSContainerInvoker] destination not found: queue/JbpmJobQueue reason: javax.naming.NameNotFoundException: JbpmJobQueue not bound
      10:07:08,080 WARN [JMSContainerInvoker] creating a new temporary destination: queue/JbpmJobQueue
      10:07:08,088 INFO [JbpmJobQueue] Bound to JNDI name: queue/JbpmJobQueue