工作流JBPM_day01:6-执行流程实例

执行流程

  启动流程实例

  查询任务列表

  办理任务

  向后执行一步

先部署流程定义在启动流程实例

Jbpm4_execution表表示正在执行的流程实例的的信息

查询个人任务列表

ProcessInstanceTest .java

  1. import java.util.List;
  2.  
  3. import org.jbpm.api.Configuration;
  4. import org.jbpm.api.ProcessEngine;
  5. import org.jbpm.api.ProcessInstance;
  6. import org.jbpm.api.task.Task;
  7. import org.junit.Test;
  8.  
  9. public class ProcessInstanceTest {
  10. private ProcessEngine processEngine = Configuration.getProcessEngine();
  11.  
  12. //部署流程定义
  13. @Test
  14. public void deplyProcessDefinition() {
  15. processEngine.getRepositoryService()//
  16. .createDeployment()//
  17. .addResourceFromClasspath("cn/itcast/b_processinstance/test.jpdl.xml")//
  18. .addResourceFromClasspath("cn/itcast/b_processinstance/test.png")//
  19. .deploy();
  20.  
  21. }
  22. // 启动流程实例
  23. // jbpm4_execution
  24. @Test
  25. public void testStartProcessInstance() {
  26. ProcessInstance pi = processEngine.getExecutionService().startProcessInstanceByKey("helloworld");
  27. System.out.println("流程实例启动成功:id=" + pi.getId()//
  28. + ", state=" + pi.getState()// 状态
  29. + ", processDefinitionId=" + pi.getProcessDefinitionId());// 所使用的流程定义的Id
  30. }
  31.  
  32. // 查询个人任务列表
  33. @Test
  34. public void testFindMyPersonalTaskList() {
  35. String userId = "张三";
  36. //查询
  37. // List<Task> list = processEngine.getTaskService().findPersonalTasks(userId);
  38. //分页
  39. List<Task> list = processEngine.getTaskService()//
  40. .createTaskQuery()//
  41. .assignee(userId)//
  42. .page(0, 100)//
  43. .list();
  44. //显示
  45. System.out.println("======= 【" + userId + "】的个人任务列表 ========");
  46. for(Task task : list) {
  47. System.out.println("id=" + task.getId()
  48. + ", name=" + task.getName()
  49. + ", assignee=" + task.getCreateTime()
  50. + ", createTime=" + task.getCreateTime()
  51. + ", executionId=" + task.getExecutionId());
  52. }
  53. }
  54.  
  55. // 办理任务
  56. @Test
  57. public void testCompleteTask() {
  58. String taskId = "140002";
  59. processEngine.getTaskService().completeTask(taskId);
  60. }
  61.  
  62. // 向后执行一步
  63. @Test
  64. public void testNext() {
  65. String executionId = "helloworld.140001";
  66. processEngine.getExecutionService().signalExecutionById(executionId);
  67. }
  68. } 

Execution与ProcessInstance说明

工作流JBPM_day01:6-执行流程实例的更多相关文章

  1. JBPM4.4_执行流程实例

    1. 执行流程实例 1.1. 启动流程实例 说明:流程实例创建后,直接就到开始活动后的第一个活动,不会在开始活动停留. 1.1.1. 示例代码1:使用指定key的最新版本的流程定义启动流程实例 Pro ...

  2. JBPM工作流(五)——执行流程实例

    概念: ProcessInstance,流程实例:代表流程定义的一次执行.如:张三昨天按请假流程请了一次假.一个流程实例包括了所有运行阶段,其中最典型的属性就是跟踪当前节点的指针,如下图. Execu ...

  3. JBPM学习(四):执行流程实例

    概念: ProcessInstance,流程实例:代表流程定义的一次执行.如:张三昨天按请假流程请了一次假.一个流程实例包括了所有运行阶段,其中最典型的属性就是跟踪当前节点的指针,如下图. Execu ...

  4. JBPM工作流(八)——流程实例(PI)Process Instance

    /** * 流程实例 *    *  启动流程实例 *    *  完成任务 *    *  查询 *      *  查询流程实例 *      *  查询任务 *          *  查询正在 ...

  5. Activiti第二篇【管理流程定义、执行任务和流程实例、流程变量】

    上篇Activiti只是一个快速入门案例,这篇就讲定义.部署.查看任务等等的一些细节[涉及到的数据库表.对象等等]- 管理流程定义 管理流程定义主要涉及到以下的4张表: -- 流程部署相关的表 SEL ...

  6. JBPM4入门——6.流程实例的创建和执行

    本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...

  7. oozie 完整流程实例

    Oozie概述: Oozie是一个基于Hadoop工作流引擎,也可以称为调度器,它以xml的形式写调度流程,可以调度mr,pig,hive,shell,jar,spark等等.在实际工作中,遇到对数据 ...

  8. 工作流JBPM_day01:3-使用JBPM的API添加与执行流程

    工作流JBPM_day01:3-使用JBPM的API添加与执行流程 流程定义画完得到压缩文件--->部署流程定义-->启动流程实例-->查询我的个人任务列表-->办理任务--& ...

  9. Activiti工作流学习(二)流程实例、执行对象、任务

    一.前言 前面说明了基本的流程部署.定义,启动流程实例等基本操作,下面我们继续来学习流程实例.执行对象.任务. 二.流程实例.执行对象说明 整个Activiti的生命周期经过了如下的几个步骤: 1.流 ...

随机推荐

  1. 说说http协议中的编码和解码

    http://www.csdn1 2 3.com/html/itweb/20130730/29422_29378_29408.htm ****************************** 一. ...

  2. SharePoint自动化系列——通过PowerShell创建SharePoint Lists

    转载请注明出自天外归云的博客园:http://www.cnblogs.com/LanTianYou/ 代码如下(保存到本地ps1文件中,右键run with PowerShell即可): Add-PS ...

  3. pyqt布局管理器

    有时候,碰到错误: QWidget::setLayout: Attempting to set QLayout “” on MainWindow “”, which already has a lay ...

  4. 在java web中获取该项目的根路径

    在jsp页面中: <% String path = application.getRealPath("").replace("\\","\\\\ ...

  5. 基于html5整屏切换IDO智能手表页面滚动代码

    之前为大大家介绍了一款jquery实现的整屏切换特效.今天分享一款IDO智能手表页面滚动html5代码.这是一款基于jQuery+HTML5实现的页面滚动效果代码.效果图如下: 在线预览   源码下载 ...

  6. 一款基于css3的动画按钮

    之前为大家分享了 推荐10款纯css3实现的实用按钮.今天给大家带来一款基于css3的动画按钮.实现的效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class=& ...

  7. 【WPF/C#】联网异步获取二进制文件(如图片)的流程

    步骤: 联网异步获取Json数据. 使用Json.NET工具,反序列化Json为对应的实体类,获得该实体类的对象. 从对象身上获取图片路径(实体类中定义了头像图片是string类型的文件路径). 根据 ...

  8. stm8s + si4463 寄存器配置

    /***********************************************函 数: main功 能: 程序入口输 入: /输 出: /描 述: /**************** ...

  9. javascript那些不应该忽视的细节

    1.null与Object.prototype使用typeof操作符结果都是object,但他们都不是Object的实例. typeof null // object null instanceof ...

  10. Python写自己主动化之邮件发送(匿名)

    为了可以实现邮件发送功能.首先.我们须要了解一下邮件的发送过程是什么样子的,此处不再具体说明,请大家自行搜索或查看p=438">http://www.sogouqa.com/?p=43 ...