2 Replies Latest reply on Jan 17, 2012 8:50 AM by mvermand

    timer repeat count in JBPM4.4

    paul jazzar Newbie

      Hello, I am trying to setup the following scenario:

       

      A task is created and assigned to a person (say person A). the task needs to start sending reminders to person A after 2 days and repeat once a day. However if after X reminders the task is still not completed it needs to escalate.

       

      Any idea how to set this up?

       

      as per the dev guide a timer has two params mainly, DueDate and repeat but no mention of "number of repeats" or something similar.

       

      <timer duedate="20 minutes" repeat="10 seconds" />
            <event-listener class="org.jbpm.examples.timer.repeat.Escalate" />
      

       

       

      thanks

      Paul.

       

      Error messages :

       

       

      09:25:05,934 ERROR [ExecuteJobCmd] exception while executing 'timer[700089|2011-02-15 09:25:05|timeout]'
      org.jbpm.pvm.internal.wire.JbpmClassNotFoundException: couldn't load class jbpmEventsActions
          at org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.construct(ObjectDescriptor.java:143)
          at org.jbpm.pvm.internal.wire.WireContext.construct(WireContext.java:487)
          at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:466)
          at org.jbpm.pvm.internal.wire.WireContext.create(WireContext.java:264)
          at org.jbpm.pvm.internal.util.ReflectUtil.instantiateUserCode(ReflectUtil.java:414)
          at org.jbpm.pvm.internal.wire.usercode.UserCodeReference.getObject(UserCodeReference.java:63)
          at org.jbpm.pvm.internal.wire.usercode.UserCodeReference.getObject(UserCodeReference.java:47)
          at org.jbpm.pvm.internal.wire.usercode.UserCodeEventListener.notify(UserCodeEventListener.java:38)
          at org.jbpm.pvm.internal.model.op.ExecuteEventListener.perform(ExecuteEventListener.java:81)
          at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperationSync(ExecutionImpl.java:672)
          at org.jbpm.pvm.internal.model.ExecutionImpl.performAtomicOperation(ExecutionImpl.java:632)
          at org.jbpm.pvm.internal.model.ExecutionImpl.fire(ExecutionImpl.java:579)
          at org.jbpm.pvm.internal.model.ExecutionImpl.fire(ExecutionImpl.java:568)
          at sun.reflect.GeneratedMethodAccessor1134.invoke(Unknown Source)
          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:197)
          at org.jbpm.pvm.internal.model.ExecutionImpl_$$_javassist_5.fire(ExecutionImpl_$$_javassist_5.java)
          at org.jbpm.pvm.internal.job.TimerImpl.execute(TimerImpl.java:99)
          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.JtaTransactionInterceptor.executeInNewTx(JtaTransactionInterceptor.java:83)
          at org.jbpm.pvm.internal.tx.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:62)
          at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
          at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.executeWithRetry(JtaRetryInterceptor.java:52)
          at org.jbpm.pvm.internal.tx.JtaRetryInterceptor.execute(JtaRetryInterceptor.java:45)
          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.SkipInterceptor.execute(SkipInterceptor.java:43)
          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:680)
      Caused by: java.lang.ClassNotFoundException: jbpmEventsActions from BaseClassLoader@32787e9f{VFSClassLoaderPolicy@4c1129c{name=vfsfile:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/ domain=ClassLoaderDomain@1bd7b222{name=DefaultDomain parentPolicy=BEFORE parent=org.jboss.bootstrap.NoAnnotationURLClassLoader@22998b08} roots=[MemoryContextHandler@531415604[path= context=vfsmemory://5c4o11u-iy6jve-gk6fo0ya-1-gk6fogar-17 real=vfsmemory://5c4o11u-iy6jve-gk6fo0ya-1-gk6fogar-17], FileHandler@117568555[path=jbpm/jbpm-service.sar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/], DelegatingHandler@289748645[path=jbpm/jbpm-service.sar/antlr-runtime.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/antlr-runtime.jar], DelegatingHandler@1460048766[path=jbpm/jbpm-service.sar/drools-api.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/drools-api.jar], DelegatingHandler@1891459540[path=jbpm/jbpm-service.sar/drools-compiler.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/drools-compiler.jar], DelegatingHandler@560062239[path=jbpm/jbpm-service.sar/drools-core.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/drools-core.jar], DelegatingHandler@545226072[path=jbpm/jbpm-service.sar/errai-bus-1.1-M1.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/errai-bus-1.1-M1.jar], DelegatingHandler@301870355[path=jbpm/jbpm-service.sar/errai-common-1.1-M1.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/errai-common-1.1-M1.jar], DelegatingHandler@1178682271[path=jbpm/jbpm-service.sar/freemarker.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/freemarker.jar], DelegatingHandler@1723768769[path=jbpm/jbpm-service.sar/guice-2.0-aopalliance.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/guice-2.0-aopalliance.jar], DelegatingHandler@1827302553[path=jbpm/jbpm-service.sar/guice-2.0.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/guice-2.0.jar], DelegatingHandler@310372524[path=jbpm/jbpm-service.sar/guice-servlet-2.0.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/guice-servlet-2.0.jar], DelegatingHandler@193232305[path=jbpm/jbpm-service.sar/gwt-console-rpc.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/gwt-console-rpc.jar], DelegatingHandler@660075871[path=jbpm/jbpm-service.sar/gwt-console-server-integration.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/gwt-console-server-integration.jar], DelegatingHandler@2142127142[path=jbpm/jbpm-service.sar/janino.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/janino.jar], DelegatingHandler@167533639[path=jbpm/jbpm-service.sar/jbpm-console-form-plugin.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/jbpm-console-form-plugin.jar], DelegatingHandler@386809456[path=jbpm/jbpm-service.sar/jbpm-console-graphView-plugin.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/jbpm-console-graphView-plugin.jar], DelegatingHandler@673527523[path=jbpm/jbpm-service.sar/jbpm-console-integration.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/jbpm-console-integration.jar], DelegatingHandler@590775724[path=jbpm/jbpm-service.sar/jbpm-jboss.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/jbpm-jboss.jar], DelegatingHandler@1350693187[path=jbpm/jbpm-service.sar/jbpm.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/jbpm.jar], DelegatingHandler@50761472[path=jbpm/jbpm-service.sar/joda-time.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/joda-time.jar], DelegatingHandler@597052045[path=jbpm/jbpm-service.sar/juel-engine.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/juel-engine.jar], DelegatingHandler@1610121531[path=jbpm/jbpm-service.sar/juel-impl.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/juel-impl.jar], DelegatingHandler@871135670[path=jbpm/jbpm-service.sar/livetribe-jsr223.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/livetribe-jsr223.jar], DelegatingHandler@1781184091[path=jbpm/jbpm-service.sar/log4j-1.2.9.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/log4j-1.2.9.jar], DelegatingHandler@438978257[path=jbpm/jbpm-service.sar/mvel2-2.0.18.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/mvel2-2.0.18.jar], DelegatingHandler@1301237954[path=jbpm/jbpm-service.sar/report-shared-1.3.0.jar context=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/ real=file:/Developer/JBPM/jbpm-4.4/jboss-5.1.0.GA/server/default/deploy/jbpm/jbpm-service.sar/report-shared-1.3.0.jar]]  delegates=null exported=[, org.joda.time.tz.data.Pacific, org.jbpm.jpdl.internal.repository, org.mvel2.templates.util.io, org.drools.process.core.impl, org.joda.time.tz.data.Europe, org.jbpm.test.mail, org.jboss.errai.common.client.protocols, org.mvel2.optimizers.impl.refl.collection, org.drools.builder.conf, org.drools.runtime.pipeline.impl, org.mvel2, org.jbpm.bpmn.parser, org.drools.base.field, org.jbpm.bpmn.deployer, org.drools.workflow.instance.impl, org.jboss.bpm.console.server.plugin, org.antlr.runtime, org.mvel2.math, org.codehaus.janino.util.resource, org.jboss.errai.common.client.json, org.drools.definition, org.drools.process.core.event, org.codehaus.janino, org.jbpm.pvm.internal.util, org.drools.process.instance.context.variable, org.drools.process.instance.context.exception, com.sun.script.juel, org.jboss.errai.bus.client.api.base, org.drools.command, org.jboss.errai.common.client.types.handlers.primitives, org.joda.time.tz.data.Antarctica, org.jbpm.bpmn.common, org.drools.process.instance.impl, org.jbpm.pvm.internal.type.variable, org.jbpm.api, org.mvel2.asm.util, org.jbpm.pvm.internal.hibernate, org.apache.log4j.lf5, org.jboss.errai.bus.client.util, org.jbpm.pvm.internal.model.op, org.jboss.bpm.console.client.model, org.codehaus.janino.tools, org.drools.reteoo.builder, org.jbpm.pvm.internal.type.converter, freemarker.log, META-INF.services, org.jbpm.test.jms, org.drools.workflow.instance.impl.factory, org.apache.log4j.varia, org.jboss.errai.bus.client.ext, org.drools.agent, org.drools.lang, org.drools.marshalling, org.antlr.runtime.debug, org.jbpm.pvm.internal.wire, org.drools.util, org.jbpm.integration.console.graphView, org.drools.workflow.core.impl, org.jboss.bpm.console.server.integration, org.jbpm.pvm.internal.cal, org.drools.rule.builder.dialect.mvel, org.drools.runtime.process, org.jbpm.test, org.apache.log4j.xml, org.drools.guvnor.server.rules, org.jbpm.jboss.internal, org.drools.guvnor.client.modeldriven.brl, org.jbpm.api.activity, org.mvel2.optimizers.impl.refl, freemarker.ext.util, org.drools.time, org.jboss.errai.bus.server.annotations.security, org.drools.process.core.context.swimlane, org.jbpm.pvm.internal.task, META-INF.maven.org.jbpm.jbpm4.jbpm-jboss, org.codehaus.janino.util.enumerator, org.jbpm.integration.console, org.mvel2.sh.command.basic, org.jbpm.pvm.internal.history.events, org.drools.process.instance, org.jboss.bpm.console.server.util, org.drools.io.impl, org.apache.log4j.lf5.viewer, org.jboss.bpm.report.model, org.apache.log4j.helpers, org.jboss.errai.bus.server.io, org.antlr.runtime.misc, org.drools.runtime.impl, org.drools.lang.descr, META-INF.maven.org.livetribe.livetribe-jsr223, org.drools.facttemplates, org.mvel2.asm, org.jboss.errai.bus.client.tests.client, org.mvel2.integration.impl, META-INF.maven.org.drools.drools-compiler, org.drools.rule.builder.dialect.java, org.drools.rule.builder.dialect.java.parser, org.drools.process.core.datatype, org.jboss.errai.common.client.types, org.mvel2.ast, org.drools.definition.rule, org.jbpm.pvm.internal.wire.operation, org.drools.commons.jci.problems, org.jbpm.jpdl.internal.xml, org.drools.commons.jci.readers, META-INF, org.drools.process.instance.impl.demo, org.drools.agent.impl, org.drools.runtime.help.impl, com.google.inject.binder, org.jbpm.pvm.internal.client, org.joda.time.tz.data.Etc, com.google.inject.internal.cglib.core, org.drools.conf, org.aopalliance.intercept, META-INF.maven.org.jbpm.jbpm4.jbpm-pvm, org.jbpm.pvm.internal.history, org.apache.log4j.lf5.config, org.drools.definition.process, org.mvel2.templates.res, org.jbpm.api.task, org.jboss.errai.common.client.types.handlers, freemarker.debug.impl, org.drools.time.impl, org.jbpm.pvm.internal.repository, org.mvel2.debug, org.joda.time.tz, org.jboss.errai.common.client, org.drools.process.command.impl, META-INF.maven.org.drools.drools-api, org.joda.time.tz.data.Asia, freemarker.ext.jdom, org.jbpm.test.util, org.drools.process.instance.event, org.jbpm.pvm.internal.env, org.jbpm.pvm.internal.cfg, org.drools.guvnor.client.modeldriven.dt, org.drools.builder.help, org.drools.ruleflow.core.validation, org.joda.time.tz.data.Atlantic, freemarker.template, META-INF.maven.org.jbpm.jbpm4.jbpm-api, org.drools.persistence.jpa, org.jbpm.pvm.internal.model, org.jboss.errai.bus.server.servlet, META-INF.maven.org.jboss.errai.errai-bus, org.drools.definitions.rule.impl, META-INF.maven.org.jboss.bpm.gwt-console-server-integration, com.google.inject.internal.asm, org.jboss.errai.bus.server.security.auth, org.drools.event.process.impl, org.joda.time.tz.data.America.North_Dakota, org.drools.base, org.apache.log4j.lf5.viewer.images, org.mvel2.sh.text, org.jbpm.pvm.internal.type.matcher, org.drools.common, org.mvel2.sh, freemarker.ext.jsp, org.drools.process.instance.impl.factory, org.jboss.errai.bus.server.async, org.drools.xml.changeset, freemarker.ext.ant, org.drools.command.impl, org.drools.audit.event, org.jbpm.api.history, org.codehaus.janino.samples, org.joda.time.convert, org.apache.log4j.nt, org.drools.builder, org.jbpm.pvm.internal.wire.binding, org.jboss.errai.common, org.drools.rule, org.drools.process.core.datatype.impl, META-INF.maven.org.jbpm.jbpm4.jbpm-enterprise, org.drools.runtime.help, freemarker.ext.servlet, org.drools.guvnor.client.modeldriven.testing, org.drools.process.core.context.exception, org.drools.event.knowlegebase.impl, org.joda.time.tz.data, org.mvel2.integration, com.google.inject.internal.cglib.reflect, org.drools.workflow.core.node, org.apache.log4j.lf5.viewer.categoryexplorer, freemarker.template.utility, org.joda.time.field, org.apache.log4j.or, org.jbpm.jpdl.internal.model, org.jbpm.integration.console.services, org.drools.process.core.timer, org.antlr.runtime.tree, org.mvel2.conversion, org.drools.event.knowledgebase, org.drools.runtime.dataloader, org.drools.runtime.rule.impl, org.drools.commons.jci.compilers, META-INF.maven.org.jbpm.jbpm4.jbpm-console-graphView-plugin, org.jbpm.pvm.internal.jobexecutor, org.jboss.errai.bus.server.service, org.jbpm.pvm.internal.email.impl, org.jbpm.pvm.internal.history.model, org.mvel2.templates, org.jbpm.pvm.internal.processengine, META-INF.maven.org.drools.drools-core, org.drools.ruleflow.instance, org.jbpm.pvm.internal.cmd, org.jbpm.pvm.internal.tx, com.google.inject.matcher, org.drools.semantics.java.parser, org.mvel2.templates.util, org.drools.io, org.jbpm.test.ejb, org.jbpm.pvm.internal.identity.spi, org.jboss.errai.bus.client.security, META-INF.maven.org.jbpm.jbpm4.jbpm-log, com.google.inject.servlet, org.drools.workflow.instance.context, org.jboss.errai.bus.public.js, org.apache.log4j.spi, org.drools.testframework, org.joda.time.tz.data.Indian, org.jboss.errai.bus.server.util, org.drools.conflict, org.jbpm.bpmn.flownodes, org.drools.ruleflow.core, org.joda.time.tz.data.America.Kentucky, org.mvel2.util, org.jbpm.enterprise.internal.wire.binding, org.drools.definitions.impl, freemarker.ext.rhino, org.drools.definition.type, org.jbpm.api.jpdl, org.drools.process.core.context.variable, de.odysseus.el.tree.impl, org.apache.log4j.jdbc, org.drools.process.core.validation.impl, freemarker.ext.jython, org.codehaus.janino.util, META-INF.maven.org.jbpm.jbpm4.jbpm-console-form-plugin, org.drools.workflow.instance, org.drools.process.core, org.drools.process.core.datatype.impl.type, org.jbpm.pvm.internal.identity.impl, freemarker.ext.xml, org.jbpm.pvm.internal.builder, org.jboss.errai.common.client.framework, org.jboss.errai.bus.server.service.bootstrap, org.mvel2.compiler, org.jboss.errai.bus.client.tests, com.google.inject, org.apache.log4j.lf5.viewer.configure, org.drools.event.io, org.drools.process.instance.context.swimlane, org.drools.runtime, org.joda.time.chrono, org.jbpm.integration.console.forms, org.jbpm.pvm.internal.wire.usercode, org.drools, org.jboss.errai.bus.server, org.drools.process.core.validation, org.jbpm.pvm.internal.wire.xml, META-INF.maven.org.jboss.errai.errai-common, org.jbpm.bpmn.model, org.jbpm.pvm.internal.stream, org.jboss.errai.bus.server.api, org.drools.reteoo, org.drools.xml, org.drools.impl, org.drools.ruleflow.core.factory, de.odysseus.el.util, org.jbpm.internal.log, org.aopalliance.aop, org.jbpm.pvm.internal.xml, org.jbpm.pvm.internal.wire.descriptor, org.joda.time.format, META-INF.maven.org.jbpm.jbpm4.jbpm-jpdl, org.jboss.errai.bus, freemarker, org.apache.log4j.jmx, org.joda.time.base, org.apache.log4j.config, org.drools.base.mvel, org.drools.base.accumulators, META-INF.maven.org.jboss.bpm.gwt-console-rpc, javax.script, org.drools.process.builder, META-INF.maven.org.jbpm.jbpm4.jbpm-console-integration, org.jboss.errai.bus.client.framework, org.mvel2.optimizers.dynamic, org.jbpm.pvm.internal.test, org.joda.time.tz.data.Africa, org.drools.xml.rules, com.google.inject.name, com.google.inject.spi, org.jbpm.pvm.internal.svc, org.jbpm.pvm.internal.script, org.drools.factmodel, org.jboss.errai.bus.server.async.scheduling, org.jboss.errai.bus.client, META-INF.maven.org.jbpm.jbpm4.jbpm-test-base, org.jbpm.pvm.internal.email.spi, org.drools.process.core.context, com.google.inject.util, org.jbpm.api.identity, org.drools.guvnor.server.util, META-INF.maven.org.jboss.bpm.report-shared, org.drools.concurrent, org.joda.time.tz.data.America.Argentina, org.apache.log4j, org.jbpm.pvm.internal.job, freemarker.ext.dom, org.jboss.errai.bus.client.api.builder, com.google.inject.internal, org.jbpm.api.model, org.jbpm.jpdl.internal.rules, org.jboss.errai.bus.client.api, de.odysseus.el.tree, org.mvel2.optimizers.impl.asm, org.jboss.errai.common.client.types.handlers.collections, org.apache.log4j.chainsaw, freemarker.core, org.drools.process.instance.impl.humantask, org.jbpm.pvm.internal.lob, org.drools.process.instance.context, org.drools.base.extractors, org.drools.guvnor.client.modeldriven.ui, org.jbpm.pvm.internal.spring, de.odysseus.el.misc, org.jbpm.pvm.internal.id, org.drools.event.rule.impl, org.joda.time.tz.data.America.Indiana, org.drools.base.evaluators, org.jboss.errai.bus.client.json, org.jboss.bpm.report, META-INF.maven.org.jbpm.jbpm4.jbpm-bpmn, org.jbpm.pvm.internal.ant, org.apache.log4j.lf5.util, org.drools.workflow.instance.node, de.odysseus.el.tree.impl.ast, org.jboss.errai.common.client.types.handlers.numbers, org.drools.process.instance.timer, freemarker.ext.beans, org.drools.logger, org.mvel2.optimizers, org.drools.lang.dsl, META-INF.maven.org.mvel.mvel2, org.drools.event.rule, freemarker.debug, com.google.inject.internal.cglib.proxy, org.jbpm.api.job, org.drools.event.process, org.jboss.errai.bus.rebind, org.drools.commons.jci.stores, org.drools.process.command, org.jboss.errai.bus.server.annotations, org.jbpm.pvm.internal.identity.cmd, org.drools.util.asm, org.drools.base.dataproviders, org.jboss.errai.bus.server.security.auth.rules, org.drools.workflow.core, org.jboss.errai.bus.client.security.impl, org.codehaus.janino.util.iterator, org.drools.spi, org.drools.audit, org.jbpm.test.assertion, freemarker.cache, org.jbpm.enterprise.internal.ejb, org.jbpm.pvm.internal.query, org.drools.compiler, org.jbpm.jpdl.internal.activity, org.jboss.errai.bus.client.protocols, org.jbpm.pvm.internal.type, org.joda.time.tz.data.America, org.mvel2.sh.command.file, org.jbpm.api.cmd, org.apache.log4j.net, org.mvel2.optimizers.impl.refl.nodes, org.mvel2.asm.signature, org.drools.event, org.jboss.errai.bus.client.tests.public, org.jbpm.api.listener, org.drools.builder.impl, org.jbpm.pvm.internal.migration, org.joda.time, org.drools.runtime.conf, org.joda.time.tz.data.Australia, org.drools.xml.processes, org.jbpm.pvm.internal.jms, org.jbpm.pvm.internal.el, org.drools.runtime.rule, org.drools.marshalling.impl, org.apache.log4j.or.sax, de.odysseus.el, org.drools.runtime.pipeline, org.jbpm.pvm.internal.session, org.drools.guvnor.client.modeldriven, org.drools.rule.builder] <IMPORT-ALL>NON_EMPTY}}
          at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:448)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
          at java.lang.Class.forName0(Native Method)
          at java.lang.Class.forName(Class.java:169)
          at org.jbpm.pvm.internal.util.ReflectUtil.classForName(ReflectUtil.java:440)
          at org.jbpm.pvm.internal.wire.descriptor.ObjectDescriptor.construct(ObjectDescriptor.java:141)
          ... 37 more
      

       

      Message was edited by: paul

        • 1. Re: timer repeat count in JBPM4.4
          paul jazzar Newbie

          Ok so i have been doing some playing around to test different possible setups, here is where i am at now (Still not working):

           

           

          <?xml version="1.0" encoding="UTF-8"?>
          
          <process name="test" xmlns="http://jbpm.org/4.4/jpdl">
          
            <on event="start">
              <event-listener class="com.xxx.jbpmEventsActivities.MyEventListener" propagation="enabled">
                <field name="msg"><string value="testing "/></field>
              </event-listener>
            </on>
          
            <start g="271,50,48,48" name="StartTestProcess">
                <transition name="to task1" to="testTimer" g="-49,-18"/>
             </start>
          
             <end g="270,458,48,48" name="end1"/>
          
             <task name="testTimer" g="196,226,202,69">
                  <on event="timeout">
                    <timer name="reminder" duedate="20 seconds" repeat="10 seconds" />
                        <event-listener class="com.xxx.jbpmEventsActivities.TimersNotifications">
                             <field name="msg"><string value="timerEvent "/></field>
                      </event-listener>
                  </on>
          
                    <transition name="notifyManager" to="state1" g="-53,-18">
                        <timer  name="escalate" duedate="1 minute" />
                    </transition>
                    <transition name="to state2" to="state2" g="13,-15"/>
             </task>
          
             <state name="notifyManager" g="42,337,158,62">
                <transition name="to end1" to="end1" g="-77,-4"/>
             </state>
          
             <state name="state2" g="348,333,180,66">
                <transition name="to end1" to="end1" g="15,13"/>
             </state>
          
          </process>
          

           

           

          and this is my Event handling class:

           

           

          package com.xxx.jbpmEventsActivities;
          
          import org.jbpm.api.listener.EventListener;
          import org.jbpm.api.listener.EventListenerExecution;
          
          
          public class TimersNotifications implements EventListener{
              private static final long serialVersionUID = 1L;
              String msg;
          
                  public void notify(EventListenerExecution execution) throws Exception
               {
                      String currentActivity = execution.getActivity().getName();
                      System.out.println("triggered timer : " + currentActivity + "\n " );
          
               }
          }
          

           

           

           

          The thing is my event listener "on start" is working just fine printing out to the console on entering every state and task. But the timer event is generating an exception "class not found" i have checked the name again and again. i have even replaced com.xxx.jbpmEventsActivities.TimersNotifications with  com.xxx.jbpmEventsActivities.MyEventListener and i still got the same exception.

           

          Any clue what's causing this ?

           

           

          It looks like the JobExecutor thread is not able to resolve the class properly (although a java state outside a timer can do it)... any idea how to configure the jobExecutor so that it can find the classes in my project WAR ?

           

           

           

           

          thanks

          Paul.

           

          Message was edited by: paul

          • 2. Re: timer repeat count in JBPM4.4
            mvermand Newbie

            Hi,

             

            I don't have a direct answer to why the class is not found.

            But given that you solve that issue, you might keep track of the number of invocations like this:

             

                        public static class PropagationEnabledListener implements
                                EventListener {
                            private static final long serialVersionUID = 1L;

                            public void notify(EventListenerExecution execution) {
                                Integer invocations = (Integer) execution
                                        .getVariable("invocations");
                                if (invocations == null) {
                                    execution.setVariable("invocations", 1);
                                } else {
                                    execution.setVariable("invocations", invocations + 1);
                                }
                            }
                        }

             

            (http://java2s.com/Open-Source/Java-Document/Workflow-Engines/jbpm-jpdl-4/org/jbpm/test/eventlistener/EventListenerTest.java.htm)