[jboss-user] [jBPM] New message: "sub process call from jbpm api"
A Ghosh
do-not-reply at jboss.com
Tue Jan 19 07:07:31 EST 2010
User development,
A new message was posted in the thread "sub process call from jbpm api":
http://community.jboss.org/message/520785#520785
Author : A Ghosh
Profile : http://community.jboss.org/people/pisecs2982
Message:
--------------------------------------------------------------
I am trying to invoke a simple sub process from a main process using the below mentioned code using *jbpm-jpdl-3.2.3*:
public class TestSubProcess implements ActionHandler{
Token superProcessToken = executionContext.getToken();
ProcessDefinition subProcessDefinition = ProcessDefinition
.parseParZipInputStream(zipInputStream);
ProcessInstance subProcessInstance = superProcessToken.createSubProcessInstance(subProcessDefinition);
subPorcessInstance.getRootToken().signal();
}
I have a very simple sub process mentioned below:
<process-definition xmlns="" name="user_sub_process">
<start-state>
<transition to="CustomComp" />
</start-state>
<node name="CustomComp">
<action class="com.cts.action.CustomAction" />
<transition to="end" />
</node>
<end-state name="end" />
</process-definition>
This my CustomAction class in sub process .
public class CustomAction implements ActionHandler {
/**
* long serialVersionUID
*/
private static final long serialVersionUID = 1L;
private static final Logger log = Logger.getLogger(CustomAction.class
.getName());
public void execute(ExecutionContext executionContext) throws Exception {
log.info("executing custom node:::");
executionContext.leaveNode();
}
}
It executes the custom node (that is it fires the sub process) and then gives the exception.
*ERROR [GraphElement] - action threw exception: couldn't signal without specifying a leaving transition : transition is null*
org.jbpm.JbpmException: couldn't signal without specifying a leaving transition : transition is null
at org.jbpm.graph.exe.Token.signal(Token.java:173)
at org.jbpm.graph.exe.Token.signal(Token.java:168)
at org.jbpm.graph.exe.ProcessInstance.end(ProcessInstance.java:322)
at org.jbpm.graph.exe.Token.notifyParentOfTokenEnd(Token.java:329)
at org.jbpm.graph.exe.Token.end(Token.java:301)
at org.jbpm.graph.exe.Token.end(Token.java:251)
at org.jbpm.graph.node.EndState.execute(EndState.java:59)
at org.jbpm.graph.def.Node.enter(Node.java:318)
at org.jbpm.graph.def.Transition.take(Transition.java:151)
at org.jbpm.graph.def.Node.leave(Node.java:393)
at org.jbpm.graph.def.Node.leave(Node.java:357)
at org.jbpm.graph.exe.ExecutionContext.leaveNode(ExecutionContext.java:120)
at com.cts.action.CustomAction.execute(CustomAction.java:18)
It seems that jbpm is trying to force a transition after reaching the end state.I am not sure that why it is trying to signal after reaching the end state.
*The same thing works if I do this in the main process that is by using process state:
*<process-state name="process-state">
<sub-process name="user_sub_process" binding="late"></sub-process>
<transition to="end"></transition>
</process-state>
I am not sure that what am I doing wrong out here.
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/520785#520785
More information about the jboss-user
mailing list