Flowable入门系列文章28 - Activity解读 04

1、开始事件

开始事件指示进程开始的地方。启动事件的类型(消息到达时开始,特定时间间隔等等),定义过程如何开始,在事件的可视化表示中显示为小图标。在XML表示中,类型是由子元素的声明给出的。

开始的事件总是在捕捉:从概念上讲,事件(在任何时间)等待,直到某个触发器发生。

在启动事件中,可以指定以下Flowable特定属性:

  • 启动程序:标识启动进程时将存储经过身份验证的用户标识的变量名称。例如:
<startEvent id="request" flowable:initiator="initiator" />

经过身份验证的用户必须使用IdentityService.setAuthenticatedUserId(String)try-finally块中的方法进行设置,如下所示:

try {
	identityService.setAuthenticatedUserId("bono");
	runtimeService.startProcessInstanceByKey("someProcessKey");
} finally {
	identityService.setAuthenticatedUserId(null);
}

这段代码被烘焙到Flowable应用程序中,因此它可以和Forms结合使用。

2、无开始事件

描述

一个没有启动事件技术上意味着启动过程的实例的触发是不确定的。这意味着引擎无法预测什么时候必须启动流程实例。通过调用startProcessInstanceByXXX方法之一通过API启动流程实例时使用none start事件。

ProcessInstance processInstance = runtimeService.startProcessInstanceByXXX();

注意:子进程总是有一个无启动事件。

图形表示法

无启动事件被视为一个没有内部图标的圆圈(换句话说,没有触发器类型)。
在这里插入图片描述
XML表示

无开始事件的XML表示是没有任何子元素的普通开始事件声明(其他开始事件类型都有声明该类型的子元素)。

<startEvent id="start" name="my start event" />

非启动事件的自定义扩展

formKey:引用用户在启动新流程实例时必须填写的表单定义。更多的信息可以在窗体部分找到。例子:

<startEvent id="request" flowable:formKey="request" />

3、计时器开始事件

描述

定时器启动事件用于在给定的时间创建流程实例。它既可以用于应该只启动一次的进程,也可以用于以特定时间间隔启动的进程。

注意:子进程不能有定时器启动事件。

注意:启动计时器事件在进程部署后立即安排。不需要调用startProcessInstanceByXXX,尽管调用启动进程方法不受限制,并且会在
startProcessInstanceByXXX调用时导致进程再次启动。

注意:部署具有启动计时器事件的新版本流程时,与前一个计时器对应的作业将被删除。原因在于,通常不希望自动启动旧版本流程的新流程实例。

图形表示法

计时器启动事件可视化为带有时钟内部图标的圆圈。
在这里插入图片描述
定时器启动事件的XML表示是正常的启动事件声明,带有定时器定义子元素。有关配置详细信息,请参阅定时器定义。

例如:从2011年3月11日12:13开始,每5分钟开始4次。

<startEvent id="theStart">
<timerEventDefinition>
<timeCycle>R4/2011-03-11T12:13/PT5M</timeCycle>
</timerEventDefinition>
</startEvent>

例如:进程将在选定的日期开始一次。

<startEvent id="theStart">
<timerEventDefinition>
<timeDate>2011-03-11T12:13:14</timeDate>
</timerEventDefinition>
</startEvent>

上面文章来自盘古BPM研究院:http://vue.pangubpm.com/
文章翻译提交:https://github.com/qiudaoke/flowable-userguide
了解更多文章可以关注微信公众号:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值