`
zybing
  • 浏览: 457397 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jBPM4.4:TaskService任务服务

 
阅读更多

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文档+学习资料

    jbpm4.4是JBoss企业级业务流程管理(Business Process Management)平台的一个重要版本,它为开发者提供了全面的工作流和业务流程管理解决方案。本文将深入解析jbpm4.4的相关知识点,帮助那些寻找优质学习资源的朋友...

    JBPM4.4 API 【最全API 包含所有实现类】

    通过这个服务,开发者可以直接与JBPM4.4的工作流引擎进行交互。 7. **持久化**:JBPM4.4使用JPA(Java Persistence API)进行数据持久化,确保流程实例和相关数据在系统重启后仍能恢复。PersistenceContext和...

    jbpm4.4入门编程小例子

    **jbpm4.4入门编程小例子** Jbpm(Java Business Process Management)是一个开源的工作流管理系统,主要用于处理业务流程的建模、部署、执行和监控。jbpm4.4是该系统的较早版本,但它仍然是许多开发人员学习工作流...

    JBPM4.4例子

    - **流程交互**: 通过servlet与jbpm服务交互,如调用`RuntimeManager`和`RuntimeEngine`启动流程,使用`TaskService`进行任务操作。 **4. 部署说明** 在项目部署过程中可能会遇到问题,例如类加载冲突、数据库连接...

    jbpm4.4基本语法

    JBPM4.4 是一款强大的工作流管理系统,用于构建和管理业务流程。在这个系统中,有几个核心的对象和服务,它们构成了JBPM的核心功能。 1. **ProcessEngine对象**:ProcessEngine 是整个jbpm的核心,它是从 ...

    jbpm4.4 ssh 整合

    1. **配置Spring**:首先,在Spring配置文件中添加JBPM的相关bean,如流程引擎工厂(ProcessEngineFactoryBean)、数据源(DataSource)和任务服务(TaskService)等。这一步确保Spring能够管理并初始化JBPM所需的...

    JBPM4.4+spring+ext整合

    - **任务管理**:JBPM提供任务服务,允许分配、接收、完成和转移任务,支持角色和用户的任务分配。 - **工作流监控**:通过JMX或Web界面,可以实时监控流程实例的状态、任务列表和执行日志。 - **持久化机制**:...

    jbpm4.4 简单请假流程

    - **任务服务(Task Service)**:负责任务的创建、分配、完成等操作。 3. **请假流程设计**: - **开始节点**:流程启动的地方,通常会初始化一些变量,比如请假人、请假天数等。 - **用户任务(User Task)**...

    jbpm4.4项目测试源码下载,

    - **任务服务(TaskService)**:处理任务生命周期,如创建、分配、完成等操作。 - **历史服务(HistoryService)**:记录流程和任务的历史数据,便于审计和分析。 - **知识服务(KnowledgeService)**:集成规则...

    jbpm4.4 邮件发送demo

    此外,这个demo可能还涉及到了jbpm的工作流定义(process definition)和任务服务(TaskService)。开发者可能使用了jbpm的流程建模工具(比如Eclipse的jbpm插件)来设计工作流程,定义了邮件发送的节点或者服务任务...

    jbpm4.4 动态设置参与人数

    ### jbpm4.4 动态设置参与人数 在企业级应用中,工作流管理是极为重要的组成部分之一。JBPM(JBoss Business Process Management)作为一款开源的工作流引擎,广泛应用于各种业务流程管理场景中。特别是在版本4.4中...

    JBPM4.4 使用之流程管理初探

    6. **任务服务**:提供了强大的任务管理功能,包括任务分配、任务查询、任务完成等。 ### 三、使用JBPM4.4开发 1. **安装和配置**:首先需要下载JBPM4.4的发行版,然后配置环境变量,包括数据库连接信息、JBOSS...

    jbpm4.4学习笔记

    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 知识点详解** jbpm4.4 是一个流行的开源工作流管理系统,它提供了一套完整的解决方案,用于设计、执行和管理业务流程。结合Servlet技术,可以构建出高效的Web应用程序,实现流程自动化。在这个...

    jbpm4.4 工程项目实例

    【jbpm4.4 工程项目实例】是一个基于jbpm工作流引擎的Web应用程序,旨在提供一个实际操作的示例,帮助开发者了解如何在实际项目中应用jbpm。jbpm是一个开源的工作流管理系统,它支持业务流程建模、部署、执行以及...

    jbpm4.4 练习代码

    【jbpm4.4 练习代码】是一个与工作流管理系统相关的编程练习,它涉及到jbpm(Java Business Process Management)的第4.4版本。jbpm是一个开源的工作流引擎,用于设计、执行和管理业务流程。这个练习代码可能是为了...

    jbpm4.4基本操作

    本文将详细介绍在JBPM4.4中进行的一些基本操作,包括安装插件、发布流程模板、创建流程实例、理解流程的signal操作、任务节点的任务分配以及如何获取并完成任务列表中的任务。 首先,让我们来探讨如何安装JBPM4插件...

Global site tag (gtag.js) - Google Analytics