`
yuanlg
  • 浏览: 77928 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

JBPM4.4简介(八)-Task与提交(转)

阅读更多

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());

       }

 

在数据库中,亦可查询到相关信息:

JBPM4.4简介(八)-Task与提交 - 冬虫夏草 - 瞇孒璐  钚崾哭

关于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.4简介(八)-Task与提交 - 冬虫夏草 - 瞇孒璐  钚崾哭

 

你也可以到JBPM4_HIST_TASK表中查询有关刚才那个Task的历史信息(比如它的完成时间等信息)。

 

后续工作

张三审批完成之后,我们可以继续用李四来查询其手上的任务列表,并结束任务对象;然后继续用王五来查询其手上的任务列表,并结束任务对象。

 

当所有环节都完成之后,流程实例对象及各种任务实例对象都会被删除,并被转移到历史库中。

大家可继续执行,直到执行结束!

分享到:
评论

相关推荐

    jBPM4.4 会签(带加签、减签功能)

    jBPM4.4 会签(带加签、减签功能),通过查找资料,个人摸索,利用task节点实现了会签功能,加签、减签功能是我自己摸索出来的,是不是能满足大家的需求,仅供参考。

    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与ssh集成做的一个简单的会签例子

    新手,近段时间正在自学jbpm4.4,然后花了很长一段时间做会签,并与ssh集成,今天终于做出来。会签分配任务时,我用的是:task assignment handler,可在页面上显示流程图。开发环境为:jdk1.6.0_18+mysql5.1.48+...

    JBPM4.4用户手册.doc

    JBPM4.4工作流用户手册(适合于初始学JBPM4的人),本用户下还有JBPM4.4开发指南(适合于有点经验的人),2011-03-28参考自http://www.family168.com/tutorial/jbpm4.0/html/index.html,可直接浏览网站, ...

    jbpm4.4基本操作

    安装jbpm4插件 发布流程模板 创建流程实例 流程的signal操作 Task节点的任务分配 获取某人的taskList,并对task进行comple操作

    jbpm4.4请假流程

    &lt;process name="leave" xmlns="http://jbpm.org/4.3/jpdl"&gt; ,25,48,48" name="start1"&gt; 申请"/&gt; &lt;task form="qhrequest.jsp" g="172,118,92,52" name="申请" candidate-groups="#{dev}"&gt; //*****candidate-...

    JBPM帮助文档供大家学习

    jBPM 4.4 API Packages org.jbpm.api the jBPM API, Start by creating a Configuration, build a ProcessEngine from that, and then you can find the workflow methods on the services like ExecutionService,...

    JBPM工作原理及表结构详解

    本文件从JBPM的原理、实现方法、实例等方面详细讲解了JBPM的原理,包括以下内容: 1、JBPM特色: 3 2、流程图的组成: 3 2.1流转 (TRANSITION) 3 2.2活动 (ACTIVITY) 3 3、所用到的表: 4 3.1资源库与运行时表结构:...

    JBPM5.1入门学习

    1 简介 4 1.1 什么是JBPM 4 1.2 概述 4 1.3 该版本的改进 5 1.4 Eclipse设计器 6 1.5 基于Web的设计器 7 1.6 JBPM控制台 7 2 入门 8 2.1 下载 8 2.2 资源 8 2.3 环境准备 9 2.3.1 安装JDK 9 2.3.2 安装Ant 9 3 DEMO...

    JBPM4工作流应用开始指南.rar

    26 2.3 安装脚本详解 27 2.3.1 关于配置文件 30 2.3.2 关于依赖库 31 2.4 安装到JBoss 31 2.5 安装到Tomcat 32 2.6 基于Web的Signavio流程设计器 33 2.6.1 jBPM Web流程设计器简介 33 2.6.2 独立安装Signavio 34 ...

    深入浅出jBPM完整版part1

    2.13.2 BeanShell在jBPM中的用法........63 第 3 章 流程节点详解.....................................67 3.1 公共属性...................................................68 3.2 Node节点........................

    深入浅出jBPM完整版part2

    2.13.2 BeanShell在jBPM中的用法........63 第 3 章 流程节点详解.....................................67 3.1 公共属性...................................................68 3.2 Node节点........................

Global site tag (gtag.js) - Google Analytics