在工作流Activiti的使用中,任务是不可或缺的元素,通过各种任务,来完成作业系统中各个环节的执行,任务分为用户任务、脚本任务、Java服务任务、邮件任务、手工任务、业务规则任务、调用活动(子流程)任务,下面就一一介绍。
一、用户任务
用户任务用来设置必须由人员完成的工作。
当流程执行到用户任务,会创建一个新任务, 并把这个新任务加入到分配人或群组的任务列表中。
二、脚本任务
脚本任务是一个自动节点,当流程到达脚本任务, 会执行对应的脚本。
三、Java服务任务
Java服务任务用来调用外部java类。
四、邮件任务
activiti强化了业务流程,了自动邮件任务,它可以发送邮件给一个或多个参与者, 包括cc, bcc, HTML内容等等。
activiti引擎要通过SMTP功能的外部邮件服务器发送邮件。
为了实际发送邮件,引擎需知道如何访问邮件服务器。
在activiti.cfg.xml配置文件中配置:
mailServerHost--邮件服务器的主机名
mailServerPort--邮件服务器上的SMTP传输端口。
默认为25
mailServerDefaultFrom--如果用户没有指定发送邮件的邮件地址,默认设置的发送者的邮件地址。
mailServerUsername--邮件服务器认证用户名
mailServerPassword--邮件服务器认证密码
mailServerUseSSL--ssl交互。
默认为false
mailServerUseTLS--是否需要TLS。
默认为false。
五、手工任务
手工任务定义了BPM引擎外部的任务。
用来表示工作需要某人完成,而引擎不需要知道,也没有对应的系统和UI接口。
对于引擎,手工任务是直接通过的活动, 流程到达它之后会自动向下执行。
六、接收任务
接收任务是一个简单任务,它会等待对应消息的到达。
当前,我们只实现了这个任务的java语义。
当流程达到接收任务,流程状态会保存到存储里。
意味着流程会等待在这个等待状态, 直到引擎接收了一个特定的消息, 这会触发流程穿过接收任务继续执行。
七、业务规则任务
业务规则用户用来同步执行一个或多个规则。
activiti使用drools规则引擎执行业务规则。
目前,包含业务规则的.drl文件必须和流程定义一起发布,流程定义里包含了执行这些规则的业务规则任务。
意味着流程使用的所有.drl文件都必须打包在流程BAR文件里,比如任务表单。
八、调用活动(子流程)任务
调用节点引用流程定义外部的一个流程,使用调用节点的主要场景是需要重用流程定义, 这个流程定义需要被很多其他流程定义调用的时候。
当流程执行到调用节点,会创建一个新分支,它是到达调用节点的流程的分支。
这个分支会用来执行子流程,默认创建并行子流程,就像一个普通的流程。
上级流程会等待子流程完成,然后才会继续向下执行。
工作流Activiti流程图各元素之任务单元介绍
下一篇:返回列表