我曾经想如下配置JBPM的Timer:
<on event="timeout">
<timer duedate="#{duedate}" repeat="#{repeat}"/>
<event-listener class="...wfms.demo.timer.TimerListner" />
</on>
结果发现:
1.duedate是可以使用流程变量的,当创建org.jbpm.pvm.internal.job.TimerImpl的实例时,其会找到相应变量的值来初始化duedate属性如下:
public void setDueDateDescription(String dueDateDescription) {
ScriptManager scriptManager = ScriptManager.getScriptManager();
dueDateDescription = (String) scriptManager.evaluateExpression(dueDateDescription, null);
Date now = Clock.getCurrentTime();
BusinessCalendar businessCalendar = EnvironmentImpl.getFromCurrent(BusinessCalendar.class);
duedate = businessCalendar.add(now, dueDateDescription);
}
2.repeat就不能使用流程变量了,而只可以使用一个持续时间表达式常量。原因是其只是把配置的变量赋值给TimerImpl实例的repeat属性而不做任何处理:
public void setRepeat(String repeat) {
this.repeat = repeat;
}
当然了要解决这个问题办法倒是有一个,那就是覆写上面这个方法:
public void setRepeat(String repeat) {
ScriptManager scriptManager = ScriptManager.getScriptManager();
this.repeat = (String) scriptManager.evaluateExpression(repeat, null);
}
分享到:
相关推荐
【JBPM深入解析之变量设计】 JBPM,全称Java Business Process Management,是一款开源的工作流管理系统,用于构建灵活且可扩展的业务流程。它提供了一种模型化的方式来定义和执行业务流程,允许开发者通过编程或者...
2.8 JBPM_TIMER:流程定时器表 19 2.9 JBPM_TOKENVARIABLEMAP:流程TOKEN变量MAP表 19 2.10 JBPM_MODULEINSTANCE:流程模块实例表 20 2.11 JBPM_BYTEARRAY:文件模块形式的流程变量实例表 20 2.12 JBPM_...
jBPM4.4版本特别之处在于其底层依赖于Active Diagram模型,并且采用了Hibernate 3.3.1,这使得它能够良好地兼容主流数据库,同时,整个版本共涉及18张数据表,展现了其强大的数据处理能力。 #### 三、搭建jBPM4.4...
- **JBPM_TIMER**:计时表,记录流程中的定时器信息。 - **JBPM_POOLEDACTOR**:汇集参与者表,记录参与者的信息。 - **JBPM_RUNTIMEACTION**:运行中行为表,记录运行中的操作信息。 - **JBPM_LOG**:流程日志...
**jbpm简介** jbpm(Java Business ...总之,"jbpm使用简单示例"是一个很好的学习资源,通过它,开发者不仅可以了解jbpm的基本操作,还能掌握如何在实际项目中运用流程管理技术,提升业务系统的灵活性和可维护性。
**JBPM4.4 使用之配置管理** JBPM(Java Business Process Management)是一款开源的工作流管理系统,用于管理和执行业务流程。在JBPM4.4版本中,配置管理是确保系统稳定运行和流程优化的关键环节。以下将详细讲解...
**jbPM 3.2 知识点详解** jbPM,全称为Java Business Process Management,是一个开源的工作流管理系统,主要用于企业级应用中的业务流程管理。...希望这份知识总结能对你在jbPM的学习和使用上提供帮助。
在使用JBPM4进行流程管理时,不同的操作会导致相应的表发生变化。例如: - **发布一个流程(deploy)** - `JBPM4_DEPLOYMENT`: 新增一条记录。 - `JBPM4_LOB`: 新增一条记录。 - `JBPM4_DEPLOYPROP`: 新增四条记录...
4. **流程虚拟机(PVM)**:PVM是jBPM的核心组件之一,它是一组用于生成和执行不同流程语言定义的商业流程的简单Java类库。PVM的嵌入式特性使其成为一种高效、易于集成的工作流解决方案。 #### 四、为何选择jBPM 1. ...
#### 2.8 JBPM_TIMER 定义了流程中的定时器,用于触发特定时间点的动作。 #### 2.9 JBPM_TOKENVARIABLEMAP 存储流程令牌与变量之间的映射关系,反映流程实例中的变量状态。 #### 2.10 JBPM_MODULEINSTANCE 记录...
jbpm是一个开源的工作流管理系统,它使用数据库存储工作流实例、任务、变量等信息。jbpm数据库中的表结构是理解其工作原理的关键。以下是对jbpm数据库表结构的详细解析: 1. **JBPM4_DEPLOYMENT**:这是流程定义表...
**jBPM 4 使用手记** jBPM(Java Business Process Management)是一个开源的工作流管理系统,它提供了全面的业务流程管理和工作流解决方案。在jBPM 4这个版本中,开发者可以利用其强大的功能来设计、执行和管理...
jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...
* DECISIONEXPRESSION_:节点类型为Decision时使用,该属性表示Decision中的判断表达式 3. JBPM_TRANSITION表 JBPM_TRANSITION表存储了流程迁移的信息。该表的字段包括: * ID_:流程迁移的唯一标识 * NAME_:...
了解JBPM数据库表的关系对于有效使用和维护JBPM系统至关重要。以下将详细阐述这些表及其相互关系。 1. **流程配置类数据库表**: - **JBPM_ACTION**: 存储流程中的动作信息,如任务分配、通知等。 - **JBPM_...
此外,熟悉Drools规则引擎的使用,能帮助开发者更好地利用jBpm实现智能决策。 总之,jBpm 3.1.2是业务流程自动化领域的一个强大工具,它为开发高效、灵活的工作流应用提供了坚实的基础。无论是对于企业内部的流程...
### JBPM5 使用手册知识点概览 #### 一、概述 **JBPM5**(**j**Boss **B**usiness **P**rocess **M**anager)是一款开源的业务流程管理系统,它提供了完整的业务流程管理解决方案,包括流程设计、执行、监控等功能...
- **持久化存储**:JBPM将流程实例和变量等数据存储在数据库中,保证了数据的可靠性和可恢复性。 - **集成能力**:它可以轻松地与Java EE、Spring框架和其他企业级系统集成。 - **事件驱动**:JBPM支持异步事件...
这一节详细介绍了jBPM中的Timer定时器功能及其使用方法。 ###### 2.1.1 持续时间表达式 - **2.1.1.1 基本时间**:定义了基本时间单位,如秒、分钟、小时等。 - **2.1.1.2 例子**:通过具体示例展示了如何设置不同...