在jbpm的流程设计中,存在名为Task的节点,当该流程流转到该节点时,jbpm会在jbpm4_task表中创建相应的task实例。在task节点中存在两种属性,分别为assignee和candidate-user,可以为该task对象定义不同的参与者,下面是对两种属性的总结
关于assignee:
用于定义当前task的参与者。当某流程流转到该task对象时,该task对象便会与assignee建立关联,在代码中使用类似
taskService.findPersonalTasks(assignee)
的代码便可以获得当前用户所有的task列表,这样就可以很方便的查询到当前用户下所有的代办任务的
taskService.findGroupTasks(username)
列表。当用户执行了
taskService.completeTask(taskId , outcome)
之后,Jbpm会将该task对象从数据库中删除,这样就意味着该task的生命周期结束了。
关于candidate-user:
这个参数更类似于为某个组的成员分配的任务。candidate-user参数要求值的格式是多个字符串,中间以逗号分隔。当某流程流传到该task对象时,jbpm同样会创建一条task的记录,但是与assignee不同的是,它并不是属于某个用户的task,而是属于在candidate-user属性中定义的所有参与者共同的任务。因此,在代码中需要使用
taskService.findGroupTasks(username)
来查询到该task对象。而当其中任何一个用户执行了
taskService.completeTask(taskId , outcome)
之后,jbpm都会将该task对象删除,这就意味着其他用户再也查询不到该task对象了。
使用candidate-user与folk(join)节点的区别:
两种方式都是将该task对象分配给多个参与者,但两者有很大的不同。
folk(join)的特点:1、流程通过folk流转到多个节点,当所有的节点都完成该task时,流程才会继续流转。
2、jbpm会为每一个folk下面的节点创建一个task对象。
candidate-user的特点:1、流程流转到该task节点时,jbpm只会创建一个task对象.
2、其中任何一个用户完成了该任务,流程就会继续向下流转,而且其他用户也无法再查询 该task对象。
最后:当jbpm与spring进行集成后,就可以很方便的调用spring中管理的类以及类中的方法。
使用方法:#{userService.findUserNames()},其中userService为spring管理的类。
分享到:
相关推荐
jbpm-human-task-5.1.0.Final-sources.jar jbpm5 源码
jbpm-jpdl-designer-site-3.1.7.zip jbpm-jpdl-designer-site-3.1.7.zip jbpm-jpdl-designer-site-3.1.7.zip
"jbpm-jpdl-designer-nodeps-3.1.4" 是一个针对Jbpm工作流管理系统中的JPDL设计工具的无依赖版本,主要用于创建和编辑JPDL(Jbpm Process Definition Language)文件。该资源包含了该工具的详细文档、许可证协议以及...
jbpm-jpdl-suite-3.2GA -(5)分开压缩(共5个文件)jbpm下载 jbpm-jpdl-suite-3.2GA -(5)分开压缩(共5个文件)jbpm下载
【jbpm-human-task-war-5.2.5.Final.zip】 这个压缩包文件的名称表明它包含了jbpm(Business Process Management,业务流程管理)的一个版本,具体是5.2.5.Final版本,用于处理人类任务的部分。jbPM是一个开源的工作...
以上总结概括了JBPM-v3.2-userguide中的核心知识点,从JBPM的概览到具体的部署和配置,旨在为读者提供全面而深入的理解。JBPM作为一个强大的BPM引擎,不仅提供了图形化的流程设计工具,还支持高度定制化的流程执行和...
jeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202.zipjeecg-jbpm-framework 20130202....
在`Task`节点中配置`<assignment-handler class="className">`,指定实现`AssignmentHandler`接口的类,该类的`assign`方法负责实际的分配逻辑。`Assignable`接口提供了对任务和泳道的通用操作,允许设置`assignee`...
4. **审计与日志**:jbpm-audit-7.3.0.Final.jar和jbpm-human-task-audit-7.3.0.Final.jar用于记录流程实例和任务活动的审计信息,这对于流程跟踪和审计至关重要。 5. **ejb服务与定时器**:jbpm-services-ejb-...
jbpm-human-task-5.1.0.Final.jar jbpm5
JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...
jbpm-jpdl-designer-nodeps-3.0.13.zip是一款专为流程设计和管理而生的工具,主要用于JBPM(Java Business Process Management)系统。JBPM是一个开源的工作流和业务流程管理系统,它提供了对业务流程的建模、部署、...
JBPM4 中 ProcessDefinition、ProcessInstance、Execution、Task 关系和区别 ProcessDefinition 是流程的定义,也可以理解为流程的规范。它有一个 id,这个 id 的格式为 {key}-{version},其中 key 和 version 之间...
在配置jbpm-jpdl-suite-3.2.3的过程中,需要注意以下几个关键步骤: 1. **环境准备**: - 首先,确保你已经安装了JDK 1.6,因为jbpm-jpdl-suite-3.2.3需要依赖Java运行环境。 - 安装Ant 1.7.1,这是一个Java编译...
**JBPM4_ID_USER** - 用户表 - **描述**: 存储系统用户信息。 - **字段说明**: 包括用户ID、用户名、密码等。 - **操作信息**: 新增用户时,此表新增记录。 #### 17. **JBPM4_JOB** - 定时表 - **描述**: 存储定时...
文档提到了 jbpm-designer 和 MyEclipse 环境中的链接设置,例如 jbpm-gpd.linkpath 的配置。这些配置信息对于理解如何在IDE中设置jbpm工作环境非常关键。 在jbpm3.2中,流程的每个状态(节点)之间的流转,可以...
6. **jbpm-human-task-mina-5.4.0.Final.jar** 和 **jbpm-human-task-hornetq-5.4.0.Final.jar**:这两个组件分别与Apache MINA(一个网络应用程序框架)和HornetQ(一个高性能的消息中间件)集成,提供了任务通知和...
jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,jbpm-starters-kit-3.1.2插件,共两卷
1. **jbpm-installer**: 安装脚本和配置文件,用于自动化安装过程。 2. **jbpm-console**: 业务流程管理控制台,提供Web界面进行流程设计、部署和监控。 3. **jbpm-gwt-console-client**: 控制台的前端资源,基于GWT...