事件脚本

事件脚本设置

     在传统的审批场景中,往往会在用户任务和开始节点中进行一系列的功能性工作操作,比如当实例进入指定的活动或者节点、容器的时候,去设置一些变量,或者调用一些业务接口进行处理,盘古BPMN支持事件机制(HTTP或者JMS),可以参考事件设置一文。也可以采用编码方式进行执行,采用编码方式去监控节点的进入以及离开事件之后进行相应的处理。为此盘古BPMN使用了grovvy进行业务方法的调用,用户可以在业务方法中书写相关的逻辑,然后为节点绑定该事件即可。

      对于Grovvy内部如何调用业务Bean的方法,开发人员无需关系,只需要关心自己的业务即可。接下来看一下如何设计脚本以及将脚本绑定到指定的节点上。

定义脚本

登录后台系统,打开“流程管理”->"常用脚本"菜单,如下图所示:

     点击新增按钮,即可进行脚本的增加。上图中会罗列系统中已经存在的脚本,包括脚本的名称、类型、备注以及操作四列。如果用户不打算使用指定的脚本,点击上图中的删除即可,如果指定的脚本需要修改,则点击编辑按钮进行操作。脚本的编辑与新增类似,这里以新增为例进行说明。

新增脚本

点击上图中的新增按钮,会出现下图的弹框。

上图中的每一个字段含义如下:

      当脚本新增完毕之后,点击上图中的确认按钮,即可看到脚本列表中新增了一条明细。接下来演示如何在模型中使用这些已经定义好的脚本。

模型中配置脚本

打开任意一个模型,选择用户任务或者服务任务,打开“跟多设置”->"事件脚本设置"如下图所示:

脚本分为前置脚本和后置脚本两种。

前置脚本和后置脚本设置方式一样,只是触发时机不同而已。下面以前置脚本的使用为例进行说明。

设置前置脚本

点击“设置脚本事件”按钮,如下图所示:

上图中页面可以用来设置前置脚本和后置脚本,开发人员只需要来回切换设置即可。设置步骤如下:

1、点击常用脚本,如下图所示:

2、选择需要使用到的脚本,点击确认即可。因此上图中的脚本在定义的时候已经经过了测试,所以这里没必要再次进行正确性校验。

3、如果不打算使用预定义的脚本,可以直接在上图的脚本输入框中输入脚本,然后点击确认即可。

事件脚本作用域

为了方便对BPMN2.0的元素进行区分,盘古BPM在设计的时候,对于事件脚本进行了区分。

     对于用户任务而言,可以使用上述的前置脚本和后置脚本,对于服务任务、自动任务、手工任务、接受任务而言仅支持自动任务设置。自动任务、前置脚本和后置脚本均采用Groovy引擎,只是语义不同。

 

自动任务

对于服务任务、自动任务、手工任务、接受任务而言仅支持自动任务设置,该操作的入口为:“更多设置”->"自动任务设置",如下图所示。

前置事件和后置事件只能在用户任务上使用

自动任务只能在非等待的节点上使用。

用户任务有进入和离开的概念

非等待的节点没有进入离开的概念,非等待节点进入即离开,因此不需要配置前置事件和后置事件。

自动任务事件支持是否异步方式执行,其他的不支持。

相关教程