TaskService的主要目的是提供对任务列表的访问途径。
例子代码会展示出如何为id为johndoe
的用户获得任务列表
List<Task> taskList = taskService.findPersonalTasks("johndoe");
一般来说,任务会对应一个表单,然后显示在一些用户接口中。
表单需要可以读写与任务相关的数据。
// read task variables
Set<String> variableNames = taskService.getVariableNames(taskId);
variables = taskService.getVariables(taskId, variableNames);
// write task variables
variables = new HashMap<String, Object>();
variables.put("category", "small");
variables.put("lires", 923874893);
taskService.setVariables(taskId, variables);
taskSerice也用来完成任务。
taskService.completeTask(taskId);
taskService.completeTask(taskId, variables);
taskService.completeTask(taskId, outcome);
taskService.completeTask(taskId, outcome, variables);
这些API允许提供一个变量map,它在任务完成之前作为流程变量添加到流程里。
它也可能提供一个“外出outcome”,这会用来决定哪个外出转移会被选中。
逻辑如下所示:
如果一个任务拥有一个没用名称的外向转移:
- taskService.getOutcomes() 返回包含一个null值集合,。
- taskService.completeTask(taskId) 会使用这个外向转移。
- taskService.completeTask(taskId, null) 会使用这个外向转移。
- taskService.completeTask(taskId, "anyvalue") 会抛出一个异常。
如果一个任务拥有一个有名字的外向转移:
- gtaskService.getOutcomes() 返回包含这个转移名称的集合。
- taskService.completeTask(taskId) 会使用这个单独的外向转移。
- taskService.completeTask(taskId, null) 会抛出一个异常(因为这里没有无名称的转移)。
- taskService.completeTask(taskId, "anyvalue") 会抛出一个异常。
- taskService.completeTask(taskId, "myName") 会根据给定的名称使用转移。
如果一个任务拥有多个外向转移,其中一个转移没有名称,其他转移都有名称:
- taskService.getOutcomes() 返回包含一个null值和其他转移名称的集合。
- taskService.completeTask(taskId) 会使用没有名字的转移。
- taskService.completeTask(taskId, null) 会使用没有名字的转移。
- taskService.completeTask(taskId, "anyvalue") 会抛出异常。
- taskService.completeTask(taskId, "myName") 会使用名字为'myName'的转移。
如果一个任务拥有多个外向转移,每个转移都拥有唯一的名字:
- taskService.getOutcomes() 返回包含所有转移名称的集合。
- taskService.completeTask(taskId) 会抛出异常,因为这里没有无名称的转移。
- taskService.completeTask(taskId, null) 会抛出异常,因为这里没有无名称的转移。
- taskService.completeTask(taskId, "anyvalue") 会抛出异常。
- taskService.completeTask(taskId, "myName") 会使用名字为'myName'的转移。
任务可以拥有一批候选人
。候选人可以是用户
也可以是用户组
。
用户可以接收自己是候选人的任务。
接收任务
的意思是用户会被设置为被分配给任务的人。
在那之后,其他用户就不能接收这个任务了。
人们不应该在任务做工作(什么意思?),
除非他们被分配到这个任务上。
用户界面应该显示表单,并允许用户完成任务,
如果他们被分配到这个任务上。对于有了候选人,但是还没有分配的任务,
唯一应该暴露的操作就是“接收任务”
。
分享到:
相关推荐
jbpm4.4是JBoss企业级业务流程管理(Business Process Management)平台的一个重要版本,它为开发者提供了全面的工作流和业务流程管理解决方案。本文将深入解析jbpm4.4的相关知识点,帮助那些寻找优质学习资源的朋友...
通过这个服务,开发者可以直接与JBPM4.4的工作流引擎进行交互。 7. **持久化**:JBPM4.4使用JPA(Java Persistence API)进行数据持久化,确保流程实例和相关数据在系统重启后仍能恢复。PersistenceContext和...
**jbpm4.4入门编程小例子** Jbpm(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jbpm4.4是该系统的较早版本,但它仍然是许多开发人员学习工作流...
- **流程交互**: 通过servlet与jbpm服务交互,如调用`RuntimeManager`和`RuntimeEngine`启动流程,使用`TaskService`进行任务操作。 **4. 部署说明** 在项目部署过程中可能会遇到问题,例如类加载冲突、数据库连接...
JBPM4.4 是一款强大的工作流管理系统,用于构建和管理业务流程。在这个系统中,有几个核心的对象和服务,它们构成了JBPM的核心功能。 1. **ProcessEngine对象**:ProcessEngine 是整个jbpm的核心,它是从 ...
1. **配置Spring**:首先,在Spring配置文件中添加JBPM的相关bean,如流程引擎工厂(ProcessEngineFactoryBean)、数据源(DataSource)和任务服务(TaskService)等。这一步确保Spring能够管理并初始化JBPM所需的...
- **任务管理**:JBPM提供任务服务,允许分配、接收、完成和转移任务,支持角色和用户的任务分配。 - **工作流监控**:通过JMX或Web界面,可以实时监控流程实例的状态、任务列表和执行日志。 - **持久化机制**:...
- **任务服务(Task Service)**:负责任务的创建、分配、完成等操作。 3. **请假流程设计**: - **开始节点**:流程启动的地方,通常会初始化一些变量,比如请假人、请假天数等。 - **用户任务(User Task)**...
- **任务服务(TaskService)**:处理任务生命周期,如创建、分配、完成等操作。 - **历史服务(HistoryService)**:记录流程和任务的历史数据,便于审计和分析。 - **知识服务(KnowledgeService)**:集成规则...
此外,这个demo可能还涉及到了jbpm的工作流定义(process definition)和任务服务(TaskService)。开发者可能使用了jbpm的流程建模工具(比如Eclipse的jbpm插件)来设计工作流程,定义了邮件发送的节点或者服务任务...
### jbpm4.4 动态设置参与人数 在企业级应用中,工作流管理是极为重要的组成部分之一。JBPM(JBoss Business Process Management)作为一款开源的工作流引擎,广泛应用于各种业务流程管理场景中。特别是在版本4.4中...
6. **任务服务**:提供了强大的任务管理功能,包括任务分配、任务查询、任务完成等。 ### 三、使用JBPM4.4开发 1. **安装和配置**:首先需要下载JBPM4.4的发行版,然后配置环境变量,包括数据库连接信息、JBOSS...
3 Jbpm4.4介绍 7 3.1工作流引擎 8 3.2jpdl 8 3.3数据库 8 3.3.1资源库和运行时表结构 8 3.3.2历史数据库表 9 3.3.3身份认证表 9 3.4jbpm.cfg.xml 9 3.5 jbpm.hibernate.cfg.xml 10 3.6logging.properties 10 4 准备...
**jbpm4.4 + Servlet 知识点详解** jbpm4.4 是一个流行的开源工作流管理系统,它提供了一套完整的解决方案,用于设计、执行和管理业务流程。结合Servlet技术,可以构建出高效的Web应用程序,实现流程自动化。在这个...
【jbpm4.4 工程项目实例】是一个基于jbpm工作流引擎的Web应用程序,旨在提供一个实际操作的示例,帮助开发者了解如何在实际项目中应用jbpm。jbpm是一个开源的工作流管理系统,它支持业务流程建模、部署、执行以及...
【jbpm4.4 练习代码】是一个与工作流管理系统相关的编程练习,它涉及到jbpm(Java Business Process Management)的第4.4版本。jbpm是一个开源的工作流引擎,用于设计、执行和管理业务流程。这个练习代码可能是为了...
本文将详细介绍在JBPM4.4中进行的一些基本操作,包括安装插件、发布流程模板、创建流程实例、理解流程的signal操作、任务节点的任务分配以及如何获取并完成任务列表中的任务。 首先,让我们来探讨如何安装JBPM4插件...