script脚本:
一个script是一个执行BeanShell脚本的action。缺省地,所有流程定义变量都是合法的并且无脚本变量将被写入流程变量。下列脚本变量也是合法的:
executionContext
token
node
task
taskInstance
<process-definition>
<event type="node-enter">
<script>
System.out.println("this script is enering node"+node);
</script>
</event>
...
</process-definition>
为定制缺省加载行为并且储存变量进script,变量元素可以被用来作为script的子元素。那样,脚本表达式不得不被放入一个脚本的子元素:expression
<prcession-definition>
<event type="process-end">
<expression>
a = b+c;
</expression>
<variable name="XXX" access="write" mapped-name="a"/>
<variable name="YYY" access="read" mapped-name="b"/>
<variable name="ZZZ" access="read" mapped-name="c"/>
</event>
</prcession-definition>
在脚本开始之前,这个流程变量YYY和ZZZ将分别作为脚本变量b和c使其合法。所有脚本完成之后,脚本变量值a被存储进流程变量XXX.
如果access变量属性包含"read",这个流程变量在脚本赋值之前将被加载作为一个脚本变量。如果access变量属性包含"write",这个流程变量在脚本赋值以后将被加载作为一个脚本变量。