1. 首页
  2. >
  3. 编程技术
  4. >
  5. Java

工作流Activiti流程图各元素之任务单元介绍

在工作流Activiti的使用中,任务是不可或缺的元素,通过各种任务,来完成作业系统中各个环节的执行,任务分为用户任务、脚本任务、Java服务任务、邮件任务、手工任务、业务规则任务、调用活动(子流程)任务,下面就一一介绍。

工作流Activiti流程图各元素之任务单元介绍

工作流Activiti流程图各元素之任务单元介绍

一、用户任务

用户任务用来设置必须由人员完成的工作。 当流程执行到用户任务,会创建一个新任务, 并把这个新任务加入到分配人或群组的任务列表中。

工作流Activiti流程图各元素之任务单元介绍

二、脚本任务

脚本任务是一个自动节点,当流程到达脚本任务, 会执行对应的脚本。

工作流Activiti流程图各元素之任务单元介绍

三、Java服务任务

Java服务任务用来调用外部java类。

工作流Activiti流程图各元素之任务单元介绍

四、邮件任务

activiti强化了业务流程,支持了自动邮件任务,它可以发送邮件给一个或多个参与者, 包括支持cc, bcc, HTML内容等等。activiti引擎要通过支持SMTP功能的外部邮件服务器发送邮件。 为了实际发送邮件,引擎需知道如何访问邮件服务器。在activiti.cfg.xml配置文件中配置:

mailServerHost--邮件服务器的主机名

mailServerPort--邮件服务器上的SMTP传输端口。默认为25

mailServerDefaultFrom--如果用户没有指定发送邮件的邮件地址,默认设置的发送者的邮件地址。

mailServerUsername--邮件服务器认证用户名

mailServerPassword--邮件服务器认证密码

mailServerUseSSL--ssl交互。默认为false

mailServerUseTLS--是否需要支持TLS。默认为false。

工作流Activiti流程图各元素之任务单元介绍

五、手工任务

手工任务定义了BPM引擎外部的任务。 用来表示工作需要某人完成,而引擎不需要知道,也没有对应的系统和UI接口。 对于引擎,手工任务是直接通过的活动, 流程到达它之后会自动向下执行。

工作流Activiti流程图各元素之任务单元介绍

六、接收任务

接收任务是一个简单任务,它会等待对应消息的到达。 当前,我们只实现了这个任务的java语义。 当流程达到接收任务,流程状态会保存到存储里。 意味着流程会等待在这个等待状态, 直到引擎接收了一个特定的消息, 这会触发流程穿过接收任务继续执行。

工作流Activiti流程图各元素之任务单元介绍

七、业务规则任务

业务规则用户用来同步执行一个或多个规则。activiti使用drools规则引擎执行业务规则。 目前,包含业务规则的.drl文件必须和流程定义一起发布,流程定义里包含了执行这些规则的业务规则任务。 意味着流程使用的所有.drl文件都必须打包在流程BAR文件里,比如任务表单。

工作流Activiti流程图各元素之任务单元介绍

八、调用活动(子流程)任务

调用节点引用流程定义外部的一个流程,使用调用节点的主要场景是需要重用流程定义, 这个流程定义需要被很多其他流程定义调用的时候。当流程执行到调用节点,会创建一个新分支,它是到达调用节点的流程的分支。 这个分支会用来执行子流程,默认创建并行子流程,就像一个普通的流程。 上级流程会等待子流程完成,然后才会继续向下执行。

工作流Activiti流程图各元素之任务单元介绍