Timer JBPM

4 respostas
Fox_McCloud

O timer do JBPM para atividades PAROU de funcionar aqui há meses e eu nem sei por onde começar a procurar, já que o “genial” arquiteto “personalizou” todas as configurações O.o

É JBPM-JPDL-3.2.3

WALEWZ a quem puder ajudar :lol:

4 Respostas

Alexandre_Saudate

Putz… assim, fica complicado, mesmo!

O xml é gerado dinamicamente, ou tem alguma coisa estática por aí? De qualquer maneira, pode postar o que você tem que é relativo aos timers?

[]´s

Fox_McCloud

asaudate:
Putz… assim, fica complicado, mesmo!

O xml é gerado dinamicamente, ou tem alguma coisa estática por aí? De qualquer maneira, pode postar o que você tem que é relativo aos timers?

[]´s


Então… o complicado é que quando eu entrei aqui já tinha parado de funcionar, rs

Conheço muito das configurações, mas nem sei por onde começo no caso desse problema, já que eu não conheço a configuração antiga.

Sei que o timer sempre foi ativado em uma atividade via plug in editor de mapa de processo do Eclipse, e através dele é setado o timer com a expressão de temporização, e antes funcionava, mas provavelmente alguma mexida desabilitou o timer.

O banco de dados contém os registros dos timers cadastrados, mas o timer em si não funciona…

Walewz!

Fox_McCloud

Segue o erro no log pra ver se alguém consegue me direcionar a respeito…

Aparentemente o Timer e o Scheduler funcionam, mas quando uma atividade inicia um agendamento já ocorre o erro.

Interessante que o registro do agendamento nas tabelas é feito, com um select é possível achar os agendamentos.

Aqui o JBPM-JPDL-3.2.3 foi configurado para olhar uma base de dados Oracle 10g.

Aparentemente esse erro acontece com muita gente, mas é complicado achar documentação esclarecendo…

A quem ajudar, agradeço.

10:46:54,765 WARN  [ProxyWarnLog] Narrowing proxy to class org.jbpm.graph.node.TaskNode - this operation breaks ==

10:46:57,718 WARN  [ProxyWarnLog] Narrowing proxy to class org.jbpm.graph.node.StartState - this operation breaks ==

10:46:57,750 WARN  [ProxyWarnLog] Narrowing proxy to class org.jbpm.graph.node.TaskNode - this operation breaks ==

10:47:10,828 ERROR [EntitySchedulerService] failed to retrieve entity for timer timer(timer,10-09-20 10:49:57,750,Token: 1096081)

javax.ejb.ObjectNotFoundException: No such entity!

at org.jboss.ejb.plugins.cmp.jdbc.JDBCFindEntityCommand.execute(JDBCFindEntityCommand.java:64)

at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.findEntity(JDBCStoreManager.java:604)

at org.jboss.ejb.plugins.CMPPersistenceManager.findEntity(CMPPersistenceManager.java:315)

at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.findEntity(CachedConnectionInterceptor.java:236)

at org.jboss.ejb.EntityContainer.findSingleObject(EntityContainer.java:1099)

at org.jboss.ejb.EntityContainer.findLocal(EntityContainer.java:676)

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.jboss.invocation.Invocation.performCall(Invocation.java:359)

at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1126)

at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:105)

at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:203)

at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:189)

at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:105)

at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:136)

at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:76)

at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:45)

at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:56)

at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:125)

at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)

at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:161)

at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:145)

at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)

at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)

at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:521)

at org.jboss.ejb.Container.invoke(Container.java:981)

at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invokeHome(BaseLocalProxyFactory.java:359)

at org.jboss.ejb.plugins.local.LocalHomeProxy.invoke(LocalHomeProxy.java:133)

at $Proxy60.findByPrimaryKey(Unknown Source)

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

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

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

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

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

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

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:597)

at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)

at org.jbpm.graph.def.Node_$$<em>javassist_355.enter(Node</em>$$<em>javassist_355.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.TaskNode.leave(TaskNode.java:209)

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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)

at org.jbpm.graph.node.TaskNode</em>$$<em>javassist_322.leave(TaskNode</em>$$<em>javassist_322.java)

at org.jbpm.graph.exe.Token.signal(Token.java:192)

at org.jbpm.graph.exe.Token.signal(Token.java:140)

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.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:173)

at org.jbpm.graph.exe.Token</em>$$<em>javassist_288.signal(Token</em>$$_javassist_288.java)

at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:479)

at org.jbpm.taskmgmt.exe.TaskInstance.end(TaskInstance.java:393)

at org.jbpm.jsf.core.action.CompleteTaskActionListener.handleAction(CompleteTaskActionListener.java:47)

at org.jbpm.jsf.core.impl.JbpmActionListenerWrapper.processAction(JbpmActionListenerWrapper.java:82)

at javax.faces.event.ActionEvent.processListener(ActionEvent.java:77)

at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:746)

at javax.faces.component.UICommand.broadcast(UICommand.java:368)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)

at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)

at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)

at java.lang.Thread.run(Thread.java:619)
Fox_McCloud

RESOLVIDO

Havia um bug aberto no JBOSS a esse respeito, relativo à versão 3.2.3 do JBPM:

https://jira.jboss.org/browse/JBPM-1620

O erro foi corrigido e replicado até a versão 3.2.4, mas a versão 3.2.3 continuou com o bug.

Abri o código-fonte do jbpm-enterprise.jar e efetuei a correção na classe EntitySchedulerService, recompilei a biblioteca e substituí.

RESOLVIDO

O impressionante é que dá erros diferentes, no meu caso um ObjectNotFoundException: EntityTimerBean.

Outra curiosidade é que quando a base de dados é local (HSQLDB / Hypersonic) o erro não se manifesta porque o dado é persistido antes do findByPrimaryKey, mas em outras bases ou quando o banco não é local o comportamento acaba sendo imprevisto.

Fica como referência a outros que possam estar sofrendo com esse problema :wink:

Criado 16 de setembro de 2010
Ultima resposta 21 de set. de 2010
Respostas 4
Participantes 2