Use of node node

From OpenKM Documentation
Jump to: navigation, search

You can define the behavior of a node of type node using the Action element. This Action is executed when the process arrives to the node.

The Action to be executed can be defined in two ways:

  • Using a BeanShell script.
  • Using an action handler, this is a Java class which implements the ActionHandler interface.

Below we are going to create a sample process with a node node which make use of an implementation of the ActionHandler interface.


Nota clasica.png Source Eclipse project at File:Workflow samples.zip.

In this image you can see the process definition graph:

Jbpm sample node.png

This process begins in a start node and go to a node node where the action to be performed is defined by the class MyAction which implements the ActionHandler interface.

public class MyAction implements ActionHandler {
    private static final long serialVersionUID = 1L;
 
    @Override
    public void execute(ExecutionContext executionContext) throws Exception {
        System.out.println("Executing programmed action...");
 
        // Go to next node
        executionContext.getToken().signal();
    }
}

The last line of this action tell the jBPM engine to go to the next node, which in this case is the end node.

<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.2" name="node node">
    <start-state name="start">
        <transition to="node"></transition>
    </start-state>
    <node name="node">
        <action class="com.openkm.sample.MyAction"></action>
        <transition to="end"></transition>
    </node>
   <end-state name="end"></end-state>
</process-definition>