jbpm timer实现自动提醒审批功能

jbpm采用<timer>标签进行定时管理。timer可以被用于decision、fork & join、task等各种元素,可以设置开始时间duedate和频率repeat,定时器动作可以是所支持的任何动作元素,如action或script,甚至会运行自行设置的其他动作。定时器通过动作创建和取消,有两个动作元素create-timer和cancel-timer。事实上,默认的定时器元素只是create-timer动作依附于node-enter事件、cancel-timer动作依附于node-leave事件的一个简略表示。

timer有一个非常重要的属性cancel-event,当timer应用于task时使用的,timer-task的cancel-event允许定制。默认情况下,当任务被结束时(即完成)任务上的定时器将被取消,这是通过在定时器上使用cancel-event属性,流程开发者可以定制诸如task-assign或task-start。cancel-event支持多个事件,通过在属性中指定一个用逗号分割的列表,可以组合cancel-event的类型。

调度这一块其实分成2部分,一个就是定时器,还有一个是调度服务。从jbpm的javadoc可以看到调度服务涉及了几个类。

如应用timer首先需要定义jpdl,本例的应用场景如下:试用期将满一个月,提醒主管填写入职信息。流程定义仅摘抄部分:

 <task g=‘697,132,102,53‘ name=‘填写入职信息‘>
    <on event=‘timeout‘>
    <timer duedate=‘2 minutes‘ repeat=‘10 minutes‘/>
    <event-listener class=‘com.fx.oa.module.bpm.workflow.server.handler.PositiveDirectLeaderConfirmHandler‘/>
    </on>
    <transition g=‘-51,-7‘ name=‘到判断3‘ to=‘判断3‘/>
  </task>

该timer的含义是任务到达(=生成)后两分钟,每10次执行一次动作,其事件为超时。通过<event-listerner>可以看出应用的是监听者模式。具体可参考之前的关于jbpm与设计模式的博文。动作的实现类较简单,不表。

时间: 2024-12-20 04:09:52

jbpm timer实现自动提醒审批功能的相关文章

sharepoint2010人性化的地方--员工离职AD账号禁用(个人网站自动提醒上级经理功能)

sharepoint2010人性化的地方--员工离职AD账号禁用(个人网站自动提醒上级经理功能) 最近有个项目,每个员工都开通了个人网站,但是有些员工离职后禁用AD账号后自动给该员工的个人属性中的“上级经理”指定的经理发一份提醒邮件如下: XXX/Hunk 的“我的网站”已计划在 14 天内删除.作为他们的经理,您现在是其网站的临时所有者.此临时所有权使您可以访问该网站,复制您可能需要的与企业相关的任何信息.若要访问该网站,请使用以下 URL:http://mysite.xxx.com/pers

(分享)在myeclipse上安装spket插件,实现js自动提醒功能

myeclipse没有配置spket插件的时候,js是无法自动提示js自动显示的功能的: -------下面我将从头开始,一步一步的开始操作,将myeclipse配上自动提醒插件:ps:带有jar下载链接 1 . 下载最新破解版spket1.6.18(见下面链接地址) 目前的myEclipse的插件安装很简单的,把spket1.6.18破解版的.zip解压后复制到myeclipse的安装目录下的features和dropins文件夹下即可.如图: 安装完成后,重启myelipse,打开Windo

Jenkins pipeline自动化构建审批功能

Jenkins Pipeline是一套插件,支持将连续输送Pipeline实施和整合到Jenkins.Pipeline提供了一组可扩展的工具,用于通过PipelineDSL为代码创建简单到复杂的传送Pipeline. 对于单个项目来说,使用这样的Pipeline来构建能够满足绝大部分需求,但是这样做也有很多缺陷,包括: 多个项目的Pipeline打包脚本不能公用,导致一个项目写一份脚本,维护比较麻烦.Jenkins提供了一个更优雅的管理Pipeline脚本的方式,在配置项目Pipeline的时候

如何通过Oracle实现自动发邮件功能

在内网项目.外网项目中多有 需要自动监控发邮件提醒的功能,因为邮件功能最便捷.便宜.不用开接口,不用接口费用.现 提供 我在一个内网项目中的使用案例: 案例背景: 在有限的资源下,能够自动给下级单位发布 数据考核评分(自动评分)和各 业务数据扣分 汇总统计后的数量(当然可进行拓展邮件信息) 案例工具: oracle;一个邮箱的对外服务调用地址:账号:密码: ----------------------------------------------------------------------

Elasticsearch in java 范例:自动补齐功能(completion suggester)

ES(elasticsearch)的suggester共有四类(term suggester, phrase suggester, completion suggester, context suggester), 其中completion suggester作为搜索框中的自动补齐功能,尤为常用. 本文将用java语言实现一个简单例子来叙述如何使用completion suggester. 例子的主要功能是为股票的名称和编号建立自动补齐功能. 实现一个完整的completion suggeste

easyui-combobox 实现简单的自动补全功能

前台: Html页面 <input id="clsydw" name="clsydw" class="easyui-combobox" data-options="" /> JS //自动补全功能 $("#clsydw").combobox({ valueField:'syr', textField:'syr', panelWidth:200, panelHeight:'auto', onCha

c#TextBox输入框自动提示、自动完成、自动补全功能

功能概览 相关属性 TextBox.AutoCompleteCustomSource 属性 获取或设置当 TextBox.AutoCompleteSource 属性设置为 [CustomSource] 时要使用的自定义 T:System.Collections.Specialized.StringCollection. TextBox.AutoCompleteMode 属性 获取或设置一个选项,该选项控制自动完成应用于 TextBox 的方式. 属性值 类型:System.Windows.For

Eclipse自动补全功能和自动生成作者、日期注释等功能设置

以前想实现添加代码作者信息的东西,但不知道怎样实现,今天终于在网上无意中找到解决办法了 Eclipse自动生成作者.日期注释等功能设置 在使用Eclipse 编写Java代码时,自动生成的注释信息都是按照预先设置好的格式生成的. 修改作者.日期注释格式:打开Windows->Preferences->Java->Code Style->Code Templates,点击右边窗口中的Comments,可以看到有很多选项,我们便可对此注释信息模板进行编辑. 如我们希望在一个Java文件

第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索的自动补全功能

第三百六十八节,Python分布式爬虫打造搜索引擎Scrapy精讲-用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 官方说明:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html 创建自动补全字段 自动补全需要用到一个字段名称为suggest类型为Completion类型的一个字段 所以我们需要用