Activiti7工作流引擎:进阶篇 ScriptTask

Posted vbirdbest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activiti7工作流引擎:进阶篇 ScriptTask相关的知识,希望对你有一定的参考价值。

哈利波特骑着扫帚飞,而我的扫帚却只能清理垃圾堆。
同样是扫帚为何差距那么大?

  • Script Format:脚本类型,groovy
  • Script:脚本代码
<process id="ScriptTaskProcess" isClosed="false" isExecutable="true" processType="None">
  <startEvent id="_2" name="StartEvent"/>
  <scriptTask activiti:exclusive="true" id="scriptTask" name="ScriptTask" scriptFormat="groovy">
    <script>
      <![CDATA[
        sum = 0     
        for (i in inputArray)        
          sum += i     
             
        execution.setVariable("result", sum);
      ]]>
    </script>
  </scriptTask>
  <endEvent id="_4" name="EndEvent"/>
  <sequenceFlow id="_5" sourceRef="_2" targetRef="scriptTask"/>
  <sequenceFlow id="_6" sourceRef="scriptTask" targetRef="_4"/>
</process>
<dependency>
	<groupId>org.codehaus.groovy</groupId>
	<artifactId>groovy-all</artifactId>
	<version>3.0.9</version>
	<type>pom</type>
</dependency>
@Test
void testStartAndComplete() 
	Map<String, Object> map = new HashMap<>();
	map.put("inputArray", Arrays.asList(1, 2));
	runtimeService.startProcessInstanceByKey("ScriptTaskProcess", map);

脚本任务是自动执行的,不需要调用 taskService.complete();

以上是关于Activiti7工作流引擎:进阶篇 ScriptTask的主要内容,如果未能解决你的问题,请参考以下文章

Activiti7工作流引擎:进阶篇 SpringBoot整合工作流Activiti7

Activiti7工作流引擎:进阶篇 多实例

Activiti7工作流引擎:进阶篇 ServiceTask

Activiti7工作流引擎:进阶篇 MailTask

Activiti7工作流引擎:进阶篇 ScriptTask

Activiti7工作流引擎:进阶篇 CallActivityTask