JBPM知识点------tasknode
653人阅读 评论(0) ??? <variable name="b" access="read,write,required" mapped-name="y" />
??? <variable name="c" access="read,write" />
?</controller>
</task>
这里使用的是默认的控制器,也可以定义自己的控制器
<task name="clean ceiling">
?<controller style="max-width: 100%;height: auto;width: auto\9;" src="//img.reader8.net/uploadfile/jiaocheng/201401104/2857/2014012816572420323.gif"><?xml?version="1.0"?encoding="UTF-8"?>
<process-definition?xmlns=""?name="yytest">
????<swimlane?name="banker">
????????<assignment?expression="user(ernie)"/>
????</swimlane>
????<swimlane?name="casher">
????????<assignment?expression="user(bert)"/>
????</swimlane>
????<start-state?name="start">
????????<transition?name=""?to="charge"/>
????</start-state>
????<task-node?name="charge"?signal="first">
????????<task?name="bank"?swimlane="banker"/>
????????<task?name="cash"?swimlane="casher"/>
????????<transition?name=""?to="end"/>
????</task-node>
????<end-state?name="end"/>
</process-definition>
?
?
private?static?void?run(){
????????????????try?{
????????????long?processInstanceId?=1;
????????????processInstance?=?????????????Token?token?=?processInstance.getRootToken();
????????????System.out.println(token.getNode());
????????????token.signal();
????????????System.out.println(token.getNode());
????????????List?casherTasks?=?????????????TaskInstance?cashertaskInstance?=?(TaskInstance)casherTasks.get(0);
????????????cashertaskInstance.start();
????????????cashertaskInstance.end();
????????????System.out.println(token.getNode());
????????????????????????}finally?{
??????????????????????????}
????}?????
-------------------------------------------------
输出结果
StartState(start)
TaskNode(charge)
EndState(end)