Task
在我们上述流程定义中,张三审批这个环节,用的是一个Task类型的Activity来定义的。这种类型的Activity的行为是:创建任务实例 (TaskImpl),并把任务实例与参与者(assignee)相关联。Task是一个接口,而TaskImpl是具体的实现类。
任务实例(Task)这种概念,其实质是用来定义Execution与assignee之间的关联的。从上面我们知道流程已经执行到了张三审批这个环节了,因此,我们下一步的目标就是:通过张三,找出流转到他手上的所有的业务对象信息。下面是一个示例:
ProcessEngine engine = newConfiguration()
.setResource("jbpm.cfg.xml").buildProcessEngine();
//根据用户,查询它的任务列表
List<Task> tasks = engine.getTaskService().findPersonalTasks("张三");
for(Task t:tasks){
System.out.println("任务ID:"+t.getId()+","+t.getAssignee()+"手上有【"+t.getExecutionId()+"】等待:"+t.getActivityName());
}
|
在数据库中,亦可查询到相关信息:
关于Task及其与Execution等之间的关系,我们在课堂上将做详细解析。
提交
张三如果审批完成,他需要继续向下提交,下面是示例代码:
//根据任务ID,完成此任务
//任务被完成之后,将自动流转到下一个环节
engine.getTaskService().completeTask("10002");
//任务被完成之后,下面的查询将无数据
List<Task> tasks = engine.getTaskService().findPersonalTasks("张三");
for(Task t:tasks){
System.out.println(t.getAssignee()+"手上有【"+t.getExecutionId()+"】等待:"+t.getActivityName());
}
|
completeTask就是完成某个任务实例,我们在查询出某人有哪些任务实例之后,他就可以选择其中一个任务实例来完成(complete)。任务实例被完成之后,任务实例对象将被删除,并被转移到历史库中。
在张三提交完成之后,JBPM4_TASK表将变为:
你也可以到JBPM4_HIST_TASK表中查询有关刚才那个Task的历史信息(比如它的完成时间等信息)。
后续工作
张三审批完成之后,我们可以继续用李四来查询其手上的任务列表,并结束任务对象;然后继续用王五来查询其手上的任务列表,并结束任务对象。
当所有环节都完成之后,流程实例对象及各种任务实例对象都会被删除,并被转移到历史库中。
大家可继续执行,直到执行结束!
分享到:
相关推荐
**jBPM4.4开发实例** jBPM(Java Business Process Management)是一个开源的工作流管理系统,用于管理和执行业务流程。jBPM4.4是该框架的一个版本,它提供了强大的工作流服务,包括流程定义、流程实例管理、任务...
【jbpm4.4-demo】是一个基于jbpm4.4版本的完整演示项目,它包含了所有必要的组件和配置,使得用户可以直接下载并运行,体验一个请假流程的示例。jbpm(Java Business Process Management)是一个开源的工作流和业务...
**jbpm4.4入门编程小例子** Jbpm(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jbpm4.4是该系统的较早版本,但它仍然是许多开发人员学习工作流...
jBPM 4.4是Java Business Process Management(业务流程管理)的一个版本,它是一个开源的工作流管理系统,用于实现业务流程自动化。这个压缩包包含了两个关键文档:《jBPM 4.4 开发指南》和《jBPM 4.4 用户指南》,...
jbpm4.4是该框架的一个早期版本,它支持BPMN(Business Process Modeling Notation)2.0标准,这使得业务流程可以更直观地进行建模。 2. **BPMN 2.0**:BPMN是一种图形化语言,用于绘制业务流程模型,包括开始事件...
【jbpm4.4项目】是一个基于JBPM4.4版本的工作流管理系统示例,它为初学者提供了深入了解和实践企业级工作流管理系统的入口。JBPM(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它允许...
通过这个服务,开发者可以直接与JBPM4.4的工作流引擎进行交互。 7. **持久化**:JBPM4.4使用JPA(Java Persistence API)进行数据持久化,确保流程实例和相关数据在系统重启后仍能恢复。PersistenceContext和...
JBPM4.4 是一款强大的工作流管理系统,用于构建和管理业务流程。在这个系统中,有几个核心的对象和服务,它们构成了JBPM的核心功能。 1. **ProcessEngine对象**:ProcessEngine 是整个jbpm的核心,它是从 ...
JBPM4.4是一款强大的工作流管理系统,其数据表结构对于理解系统运行机制至关重要。本文将深入解析JBPM4.4中的主要数据表及其作用。 首先,`JBPM4_DEPLOYMENT`表是流程定义表,它存储了所有部署的流程模板的信息。...
**JBPM4.4工作流引擎实例demo** jBPM(Java Business Process Management)是一款开源的工作流管理系统,它提供了一套完整的解决方案,用于设计、执行和管理业务流程。jBPM4.4版本是该系统的一个重要里程碑,它在...
**jbpm4.4简介** jbpm4.4是一款基于Java的企业级工作流管理系统,它提供了业务流程管理(Business Process Management, BPM)解决方案。jbpm是开源的,由JBoss社区开发并维护,广泛应用于企业的流程自动化和业务...
**jbPM4.4 会签与加签减签功能详解** jbPM(jBoss Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行和优化业务流程。在jbPM4.4版本中,会签功能是企业级流程管理中的重要特性,...
- **并发与事务**:jbpm4.4支持多线程执行,保证流程的并发性和事务一致性。 - **插件体系**:可以通过扩展点自定义工作流服务、任务监听器等,适应各种业务需求。 综上,"jbpm4.4简单请假流程"项目展示了如何...
**jbpm4.4项目测试源码解析** jbpm4.4是一款基于Java的企业级工作流管理系统,由JBoss公司开发。它提供了强大的业务流程管理(BPM)和工作流服务,帮助企业构建灵活且可扩展的流程应用。本源码下载主要针对jbpm4.4...
在这个“ssh2+jbpm4.4详细jar”压缩包中,"lib"目录下很可能包含了一系列与SSH2和JBPM4.4相关的Java库文件(.jar文件)。这些库文件是运行和开发基于SSH2和JBPM4.4的应用程序所必需的依赖,它们包含了类和方法,供...
jBPM4.4工作流开发指南 jBPM4.4是一种流行的工作流引擎,它提供了一个强大且灵活的工作流管理系统。本指南将详细介绍jBPM4.4的安装、部署、使用、开发和原理等方面的知识点。 一、开发环境搭建 要开发jBPM4.4工作...
从给定的文件标题“jbpm4.4中文手册”及其描述、标签和部分内容中,我们可以提炼出关于jBPM4.4的关键知识点。jBPM(Java Business Process Management)是一个开源的工作流引擎,用于执行业务流程管理。下面将详细...