`
suhuanzheng7784877
  • 浏览: 701355 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ff8d036b-05a9-33b5-828a-2633bb68b7e6
读金庸故事,品程序人生
浏览量:47681
社区版块
存档分类
最新评论

JBPM4学习总结之8——Task之任务泳道和Task任务变量

    博客分类:
  • jbpm
阅读更多

这里的泳道类似于UML中的泳道的概念,类似于组(Group)的概念,当一个业务流程需要很多种角色来共同、分时才能走完时,就需要泳道的概念引入其中。这种操作和分组操作十分相似。

流程图如下:

 

 

 

 

 

 

 

 

Xml流程图如下:

<?xml version="1.0" encoding="UTF-8"?>

<process name="TaskSwimlane" xmlns="http://jbpm.org/4.4/jpdl">
	<swimlane name="myswimlane" candidate-groups="tibco"></swimlane>
	<start name="start1" g="57,44,48,48">
		<transition name="to task1" to="task1" g="242,67:-52,-22" />
	</start>
	<task name="task1" g="197,172,92,52" swimlane="myswimlane">
		<transition name="to state1" to="state1" g="242,339:-56,-22" />
	</task>
	<state name="state1" g="52,311,92,52" />
</process>

 

 

 

测试代码如下,和Group测试代码类似

	/**
	 * 使用身份验证接口建立不同的用户、组、组成员
	 */
	public void test02CreateGroup() {
		identityService.createGroup("tibco");

		identityService.createUser("liuyan", "liuyan", "素还真");

		identityService.createMembership("liuyan", "tibco");
	}

	/**
	 * 发起流程
	 */
	public void test03StartTask() {
		
		// 开始process流程
		ProcessInstance processInstance = executionService
				.startProcessInstanceByKey("TaskSwimlane");

		// 流程实例的ID
		String pid = processInstance.getId();

		System.out.println(pid);// TaskSwimlane.20001
	}
	
	/**
	 * 获得指定人的任务列表
	 */
	public void test04GetAssigneeGroupTask() {
		List<Task> taskList1 = taskService.findPersonalTasks("liuyan");

		for (Task task : taskList1) {
			System.out.println(task.getAssignee());
		}
		
		
		List<Task> taskList2 = taskService.findGroupTasks("liuyan");

		for (Task task : taskList2) {
			System.out.println(task.getId());//20002
		}

	}
	
	/**
	 * 争抢获取任务
	 */
	public void test05ExeTask(){
		taskService.takeTask("20002", "liuyan");
		
	}
	
	/**
	 * 完成任务
	 */
	public void test06(){
		taskService.completeTask("20002");
	}

 

 这样将liuyan给了tibco组,凡是tibco组的会员都可以争抢、处理这个task

 

Task的任务变量

任务变量和流程变量的概念差不多,不过任务变量比流程变量更微观、更具体。通过

 

Map<String,Object> vars = taskService.getVariables(tasked,varName);

 

获得任务变量Map

通过

 

taskService.setVariables(tasked,new HashMap<String,Object>());

对任务变量进行赋值。

 

 

  • 大小: 9.7 KB
分享到:
评论
1 楼 xl6861989 2012-05-15  
well done,学习到很多东西

相关推荐

    jBPM4学习总结

    【jBPM4学习总结】 jBPM,全称为Java Business Process Management,是一个开源的、灵活且可扩展的业务流程管理框架,涵盖了业务流程管理、工作流和服务协作等多个领域。自2004年10月加入JBoss组织后,jBPM逐渐成为...

    JBPM4 学习使用总结

    **JBPM4 学习使用总结** JBPM4(Java Business Process Management)是Jboss公司推出的一款开源的工作流管理系统,它提供了完整的业务流程自动化解决方案,包括流程设计、部署、执行、监控以及管理等功能。在深入...

    JBPM4的17张表说明.docx

    为了更好地理解 JBPM4,我们需要了解其核心组件之一的 17 张表的作用和关系。 JBPM4_DEPLOYMENT、JBPM4_DEPLOYPROP 和 JBPM4_LOB JBPM4_DEPLOYMENT 表存储流程定义相关的布署信息。当我们上传一个包含 png 和 jpdl...

    JBPM4 表 详细介绍

    JBPM4作为其一个版本,具有丰富的功能及特性,尤其在流程管理和任务分配方面表现突出。下面将详细介绍JBPM4中各个表的作用及相关字段说明。 #### 1. **JBPM4_DEPLOYMENT** - 流程定义表 - **描述**: 此表用于存储...

    JBPM4 开发文档 实例 流程

    总结,JBPM4提供了一套完整的工作流管理系统,包括流程设计、执行、监控和优化等功能,通过JPdl语言和Hibernate整合,实现了流程的可视化和灵活管理。对于开发人员来说,理解这些核心概念和数据库表结构,能更好地...

    JBPM4 每张表对应的含义

    它包含了执行上下文(如当前活动、变量等)的详细信息,是JBPM4实现其核心执行逻辑的关键表之一。 #### 7. `JBPM4_TASK` `JBPM4_TASK`表用于管理任务。每个任务都关联着一个或多个活动,并且可以包含分配给特定...

    JBPM4 常用表结构及其说明

    **JBPM4_TASK** — 任务表 - **作用**: 记录待办任务信息。 - **主要内容**: 任务ID、名称、负责人、状态等。 - **特点**: 涉及到人的交互活动通常被记录在此表。 ##### 6. **JBPM4_VARIABLE** — 上下文表 - **...

    JBPM工作原理及表结构详解

    - **JBPM4_HIST_TASK**:历史任务信息,包括创建、完成和分配情况。 - **JBPM4_HIST_VAR**:历史变量记录,跟踪流程中的变量变化。 - **JBPM4_ID_GROUP**,**JBPM4_ID_MEMBERSHIP**,**JBPM4_ID_USER**:身份认证...

    jbpm学习笔记体会很深刻

    jbpm,全称为Java Business Process Management,是一款开源的工作流管理系统,用于实现业务流程自动化。...通过不断实践和学习,我们可以更好地应对各种复杂的业务场景,提升工作效率,降低运营成本。

    jbpm数据库表结构详解

    8. **JBPM4_HIST_VAR**:流程变量历史表,保存流程变量的历叐状态,便于追踪流程执行时的上下文变化。 9. **JBPM4_ID_GROUP**,**JBPM4_ID_MEMBERSHIP**,**JBPM4_ID_USER**:这些表构成用户和权限管理的基础,JBPM...

    JBPM4.3中文表结构详解,中文名称、长度等

    任务分配、参与者管理和泳道设置则依赖于JBPM4_TASK、JBPM4_PARTICIPATION和JBPM4_SWIMLANE。最后,权限控制和定时任务的设定通过JBPM4_ID_USER、JBPM4_ID_MEMBERSHIP、JBPM4_ID_GROUP和JBPM4_JOB来实现。 理解这些...

    jbpm中文指南(包括3和4的)

    1. **架构升级**:jbpm4采用了全新的服务导向架构(SOA),增强了可扩展性和灵活性,引入了流程服务(Process Services)和任务服务(Task Services)。 2. **Guvnor**:jbpm4引入了Guvnor,这是一个流程知识管理...

    JBPM4.4工作流数据表结构的详解

    `JBPM4_HIST_TASK`存储了任务实例的历史信息,而`JBPM4_HIST_VAR`则记录了流程变量的变更历史。 `JBPM4_ID_GROUP`、`JBPM4_ID_MEMBERSHIP`和`JBPM4_ID_USER`构成基础的权限控制体系,虽然功能简单,但在实际应用中...

    jbpm数据库表结构

    本文将深入探讨JBPM的核心组成部分之一——数据库表结构。 #### 二、核心表介绍 JBPM的核心表结构覆盖了从流程定义到执行过程中的各个关键环节,具体包括但不限于以下几类: 1. **流程定义相关的表** - **JBPM_...

    jbpm表结构.doc

    8. **JBPM4_JOB**:定时器定义表,用于设置和管理流程中的定时任务,如自动触发的事件。 9. **JBPM4_VARIABLE**:临时变量表,保存流程执行过程中产生的变量值,这些变量可以动态影响流程的走向。 10. **JBPM4_...

    jbpm学习指南-初学者的宝典

    2. **实体(Entities)**:jbpm中的实体包括任务(Task)、流程实例(Process Instance)和工作项(Work Item)。任务是流程中的工作单元,流程实例代表一次流程执行,工作项则是任务的具体执行状态。 3. **流程...

    JBPM数据库设计

    8. **JBPM4_HIST_VAR**:流程变量历史表,保存流程上下文变量的历史状态。 9. **JBPM4_ID_GROUP**:组表,用于定义用户组。 10. **JBPM4_ID_MEMBERSHIP**:用户角色表,记录用户与角色之间的关系。 11. **JBPM4_...

    jbpm开发入门指南

    通过学习和实践jbpm,开发者可以构建出灵活、高效的企业级业务流程管理系统,提升业务流程自动化水平,降低运营成本,提高工作效率。了解和掌握上述知识点,将为你的jbpm开发之旅打下坚实的基础。

    JBPM4.3数据库说明书

    4. **JBPM4_HIST_TASK**表新增一条记录,如果流程中存在需要人工处理的任务。 5. **JBPM4_TASK**表新增一条记录,用于跟踪任务的执行状态。 通过以上分析可以看出,JBPM4的数据库设计充分考虑了流程定义、执行和...

Global site tag (gtag.js) - Google Analytics