Activiti脚本任务(ScriptTask)属性用法

脚本任务是自动任务,当进程执行到达脚本任务时,将执行相应的脚本。要指定Script和Script Format定义脚本任务。

Script Format

一般有javascript和groovy两种选择,默认情况下,每个JDK中都包含JavaScript,因此不需要引用任何其他jar。如果要使用另一个(兼容JSR-223的)脚本引擎,例如Groovy,Groovy脚本引擎要与groovy-all jar捆绑在一起
必须添加以下依赖项:

<dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>2.5.8</version>
            <type>pom</type>
 </dependency>

在脚本中设置流程变量

通过execute.setVariable(“ variableName”,variableValue)即可在脚本中设置过程变量。在Activiti 5.12之前默认情况下,不会自动存储任何变量到数据库中,所声明的变量将仅在脚本运行期间存在,但是可以通过设置属性autoStoreVariables为true自动存储任何变量到数据库中,只是变量的自动存储不适用于某些脚本语言。

注意以下名称是保留名称,不能用作变量名称:
out,out:print,lang:import,context,elcontext

开始演示1:

如果Script Format是javascript,myVar 传进来的流程变量,假设是10,经过执行脚本代码后myVar 修改为20。以下就script中的代码:
var scriptVar = myVar ;
for(var i=0;i<10;i++){
scriptVar ++;
};
execution.setVariable("myVar", scriptVar);

(1)流程图

(2)流程启动代码
```
Map variableMap = new HashMap();
variableMap.put("myVar",10);

top Created with Sketch.