构建一个Flowable命令行应用 (2)

其中,manager如果批准,在xml流程中的表述如下:

<serviceTask flowable:class="org.flowable.CallExternalSystemDelegate"/> <sequenceFlow sourceRef="externalSystemCall" targetRef="holidayApprovedTask"/>

其中的org.flowable.CallExternalSystemDelegate类需要我们自己编写,这是需要执行的步骤,我们简单的打印下:

package org.flowable; import org.flowable.engine.delegate.DelegateExecution; import org.flowable.engine.delegate.JavaDelegate; public class CallExternalSystemDelegate implements JavaDelegate { public void execute(DelegateExecution execution) { System.out.println("Calling the external system for employee " + execution.getVariable("employee")); } }

最终的项目结构如下:

构建一个Flowable命令行应用

运行结果(与官网不同,做了些修改)

构建一个Flowable命令行应用

结论

一个flowable工作流首先需要一个标准的BPMN2.0文件,文件中需要指明每个process、startEvent、userTask、exclusiveGateway等的id,并通过sequenceFlow指明流向,需要保存的变量可以为${approved}的形式,如果需要具体执行什么任务,通过serviceTask标签的flowable:class类指明调用的类实现功能,比如发邮件、http请求等。在命令行应用中使用时,首先需要一个StandaloneProcessEngineConfiguration实例配置连接的数据库,然后生成对应的引擎ProcessEngine,之后使用对应的service执行具体的任务。

构建一个Flowable命令行应用

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyfswf.html