Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-14340

Workflow callActivity not working with Cron Expression

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 6.5.0
    • Fix Version/s: 6.5.0.4
    • Component/s: Module - Workflow
    • Labels:
    • Environment:
      IDM 6.5.0
    • Target Version/s:
    • Verified Version/s:
    • Case Id:
      #45392
    • Support Ticket IDs:
    • Zendesk ID:
      #45392

      Description

      When using a timer start event is used to create a process instance at a given time using the Cron Expression IDM throws a NullPointerException during startup.

       

      <timerEventDefinition>
        <timeCycle>* 0/1 * * * ?</timeCycle>
      </timerEventDefinition>

       

      The following exception is displayed in the console window:

       
       

      SEVERE: exception during timer execution
      java.lang.NullPointerException
      	at org.forgerock.openidm.workflow.activiti.impl.engine.OpenIDMResolverFactory.createResolver(OpenIDMResolverFactory.java:71)
      	at org.activiti.engine.impl.scripting.ScriptBindingsFactory.createResolvers(ScriptBindingsFactory.java:47)
      	at org.activiti.engine.impl.scripting.ScriptBindingsFactory.createBindings(ScriptBindingsFactory.java:41)
      	at org.activiti.engine.impl.scripting.ScriptingEngines.createBindings(ScriptingEngines.java:136)
      	at org.activiti.osgi.OsgiScriptingEngines.evaluate(OsgiScriptingEngines.java:47)
      	at org.activiti.engine.impl.bpmn.behavior.ScriptTaskActivityBehavior.execute(ScriptTaskActivityBehavior.java:63)
      	at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:54)
      	at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:89)
      	at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:566)
      	at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:561)
      	at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:52)

       

      As part of proofing the bug, I consulted the Activiti User Guide you can also use the following 'timeDuration'; Which in this example runs every 30 minutes but also fails.

      <startEvent id="offboardingStartEvent">
        <timerEventDefinition>
          <timeDuration>PT30M</timeDuration>
        </timerEventDefinition>
      </startEvent>
      

      The following exception is displayed in the console window:

       

      SEVERE: exception during timer execution
      java.lang.NullPointerException
      	at org.forgerock.openidm.workflow.activiti.impl.engine.OpenIDMResolverFactory.createResolver(OpenIDMResolverFactory.java:71)
      	at org.activiti.engine.impl.scripting.ScriptBindingsFactory.createResolvers(ScriptBindingsFactory.java:47)
      	at org.activiti.engine.impl.scripting.ScriptBindingsFactory.createBindings(ScriptBindingsFactory.java:41)
      	at org.activiti.engine.impl.scripting.ScriptingEngines.createBindings(ScriptingEngines.java:136)
      	at org.activiti.osgi.OsgiScriptingEngines.evaluate(OsgiScriptingEngines.java:47)
      	at org.activiti.engine.impl.bpmn.behavior.ScriptTaskActivityBehavior.execute(ScriptTaskActivityBehavior.java:63)
      	at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:54)
      	at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:89)
      	at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:566)
      	at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:561)
      	at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:52)

      Reproducing their issue as follows:

      1. Vanilla IDM 6.5.0
      2. Login to IDM as openidm-admin and goto Configure -> System Preferences and Enable display of workflows.
      3. Shutdown IDM
      4. Create workflow directory in your openidm home and copy workflow to the directory.
      5. Startup IDM 

       

      The exception is thrown at this point.

       

       

       

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            simon.wickham Simon Wickham
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: