activiti 中的一些信息

activiti 中的service 

1. script task  执行脚本任务(java自身脚本不在此列  如需关注看 javaservice)

scriptFormat :

1. javascript(JDK 自带的脚步解析特性)    虽然早就知道 但是还未去看过
2. groovy  -- groovy 脚本

<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
    <version>2.2.1</version>
</dependency>

添加流程变量

<script>
    def scriptVar = "test123"
    execution.setVariable("myVar", scriptVar) // 推荐使用
</script>
不支持的变量名称列表
out, out:print, lang:import, context, elcontext
service 返回值  使用的是 activiti:resultVariable 这里使用的脚本引擎是juel
<scriptTask id="theScriptTask" name="Execute script" scriptFormat="juel" activiti:resultVariable="myVar">
  <script>#{echo}</script>
</scriptTask>

2. java service task 顾名思义  java 的业务处理  这个可能是最常用的了  扩展啥的

首先 定义的javaservice 需要继承  

org.activiti.engine.delegate.JavaDelegate 或者 org.activiti.engine.impl.pvm.delegate.ActivityBehavior

指定javaservice 关联的对象

<serviceTask id="javaService"
             name="My Java Service Task"
             activiti:class="org.activiti.MyJavaDelegate" />

可以使用 表达式 activiti:delegateExpression(要求继承以上接口) 和 activiti:expression(无接口要求)

<serviceTask id="javaService"
             name="My Java Service Task"
             activiti:expression="#{printer.printMessage(execution, myVar)}" />



其中 myVar 过程变量名称 可以传送给指定的printer.printMessage 方法

你可能感兴趣的:(activiti 中的一些信息)