Use of node node
From OpenKM Documentation
You can define the behavior of a node of type node suing 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.
In this image you can see the process definition graph:
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">
<action name="action" class="com.sample.action.MessageActionHandler"></action>
</transition>
</node>
<end-state name="end"></end-state>
</process-definition>