工作流_JBPM之Helloword
![](/assets/blank.gif)
![](/assets/blank.gif)
<?xml version="1.0" encoding="UTF-8"?><process name="helloword" xmlns="http://jbpm.org/4.4/jpdl"><start g="132,24,48,48" name="start1"><transition g="-52,-22" name="to task1" to="提交申请"/></start><end g="132,456,48,48" name="end1"/><task g="108,108,92,52" name="提交申请" assignee="员工"><transition g="-49,-13" name="to task2" to="部门经理审批"/></task><task g="108,228,92,52" name="部门经理审批" assignee="部门经理"><transition g="-48,-12" name="to task3" to="总经理审批"/></task><task g="108,348,92,52" name="总经理审批" assignee="总经理"><transition g="-48,-11" name="to end1" to="end1"/></task> </process>
package com.guilin.jbpm;import java.util.List;import org.jbpm.api.Configuration; import org.jbpm.api.ProcessEngine; import org.jbpm.api.task.Task; import org.junit.Test;public class Helloword {private ProcessEngine processEngine = new Configuration().setResource("jbpm.cfg.xml").buildProcessEngine();// 部署流程定义 @Testpublic void deployProcessDefinition() {processEngine.getRepositoryService().createDeployment().addResourceFromClasspath("com/guilin/jbpm/helloword.jpdl.xml").addResourceFromClasspath("com/guilin/jbpm/helloword.png").deploy();System.out.println("部署流程完毕!");}// 启动流程实例 @Testpublic void startProcessInstance() {processEngine.getExecutionService().startProcessInstanceByKey("helloword");System.out.println("启动流程实例成功!");}// 查询我的任务列表 @Testpublic void findMyTaskList() {String[] userIds = { "员工", "部门经理", "总经理" };for (int i = 0; i < userIds.length; i++) {// 查询任务List<Task> tasks = processEngine.getTaskService().findPersonalTasks(userIds[i]);// 显示任务信息for (Task task : tasks) {System.out.println("-------------------------------------------------");System.out.println("任务ID=" + task.getId() + ", 任务名称="+ task.getName() + ", 任务办理人=" + task.getAssignee()+ ", 任务创建时间=" + task.getCreateTime());}}}// 办理任务 @Testpublic void completeTask() {// 任务 IDString taskId = "60001";processEngine.getTaskService().completeTask(taskId);System.out.println(taskId + "任务完成!");}}
- 执行部署流程:deployProcessDefinition
部署流程完毕!
- 启动第一个流程实例:startProcessInstance启动流程实例成功!
- 查询任务列表:findMyTaskList-------------------------------------------------
任务ID=10002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:20:18.0
- 再启动第二个流程实例:startProcessInstance
- 查询任务列表:findMyTaskList任务ID=10002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:22:11.0任务ID=20002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:20:18.0任务ID=30002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:22:19.0--------------------------------------------------------------------------------------------------
- 办理任务:completeTask; taskId 改为:1000210002任务完成!
- 查询任务列表:findMyTaskList任务ID=20002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:22:11.0任务ID=30002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:22:19.0-------------------------------------------------任务ID=40001, 任务名称=部门经理审批, 任务办理人=部门经理, 任务创建时间=2013-07-16 11:24:45.0-------------------------------------------------
-------------------------------------------------
- 办理任务:completeTask; taskId 改为:4000140001任务完成!
- 查询任务列表:findMyTaskList任务ID=20002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:22:11.0任务ID=30002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:22:19.0--------------------------------------------------------------------------------------------------任务ID=50001, 任务名称=总经理审批, 任务办理人=总经理, 任务创建时间=2013-07-16 11:28:52.0
-------------------------------------------------
- 办理任务:completeTask; taskId 改为:5000150001任务完成!
- 查询任务列表:findMyTaskList任务ID=20002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:22:11.0任务ID=30002, 任务名称=提交申请, 任务办理人=员工, 任务创建时间=2013-07-16 11:22:19.0--------------------------------------------------------------------------------------------------
-------------------------------------------------
转载于:https://www.cnblogs.com/lindu/p/3193023.html
工作流_JBPM之Helloword相关推荐
- jbpm创建流程图_jbpm - 工作流的基本操作
删除流程实例: Jbpm流程引擎 定义: jbpm,全称是Java Business Process Management(业务流程管理),他是覆盖了业务流程管理,工作流管理,服务协作等领域的一个开源 ...
- 工作流笔记第一天_简单介绍activiti
1.什么是工作流? 工作流(Workflow),指"业务过程的部分或整体在计算机应用环境下的自动化".是对工作流程及其各操作步骤之间业务规则的抽象.概括描述. 工作流是将一组任务组 ...
- 工作流workflow任务调度工具argo
转载请注明出处:工作流workflow任务调度工具argo argo简介和原理 argo是一个基于 kubernetes CRD(自定义资源) 实现的一个 Workflow(工作流) 开源工具,基于 ...
- Amazon SageMaker和NVIDIA NGC加速AI和ML工作流
Amazon SageMaker和NVIDIA NGC加速AI和ML工作流 从自动驾驶汽车到药物发现,人工智能正成为主流,并迅速渗透到每个行业.但是,开发和部署AI应用程序是一项具有挑战性的工作.该过 ...
- Git基本命令和GitFlow工作流
本篇博客讲解了git的一些基本的团队协作命令,和GitFlow工作流指南 git 团队协作的一些命令 1.开分支 git branch 新分支名 例如,在master分支下,新开一个开发分支: git ...
- SharePoint 工作流解决方案(一):顺序工作流和状态机工作流
SharePoint 的工作流是基于 Workflow Foundation 的,我们就先谈谈 WF,只有对 WF 有正确的认识,才能找到 SharePoint 工作流的解决方案. Workflow ...
- .net之工作流工程展示及代码分享(二)工作流引擎
在介绍完表单类的时候,接下来介绍工作流引擎,主要由四个类组成,分别是流程.流程步骤.流程实例.流程步骤实例类. 流程类: 1 [Serializable] 2 public class Flow 3 ...
- (广州)软件开发定制服务,工作流引擎 OA 库存管理系统
本人专注于工作流的研究设计同时提供软件开发定制服务,工作流引擎 OA系统 库存管理系统 如果有机会合作共事请联系:15817167503(本人在广州) QQ:1311663711 加时请注明软件定制 ...
- 开始升级我的工作流系统
终于做完了自定义工作流审批系统的第一个版本,可以说是熬完的,因为真的费了不少力气.不过也慢慢发现设计和实现中的很多问题,便想把它改进一下,改为用.net2.0和sql server2005开发,并想遵 ...
- E8.Net 2005工作流平台版本发布
2007年2月,完成了EPowerFlow.Net2003版本升级到E8.Net2005版本的工作,今后E8.Net工作流平台就可以使用Microsoft Visual Studio 2005(SP1 ...
最新文章
- mongodb - 前端form表单数据传输,在保存和清除的数据格式的处理程序的 - 非递归...
- aapt.exe已停止工作 r.java_【转】android错误 aapt.exe已停止工作的解决方法
- java角度_java中角度或弧度的计算 | 学步园
- (软件工程复习核心重点)第十章面向对象设计-第一节:面向对象设计的基本概念与准则
- notepad++配置Zen Coding
- 搭建dubbo框架的遇到的一些问题
- Struts2中的ModelDriven机制及其运用、refreshModelBeforeResult属性解决的问题
- C++_智能指针shared_ptr、unique_ptr、weak_ptr、auto_ptr总结
- python自控_怎么自学python,大概要多久?
- 细说在兄弟连搞上PHP的那些事儿
- Fluent使用(一)
- 搭建直播平台,Android端直播APP源码如何实现礼物效果
- 【转载】分析Windows的死亡蓝屏(BSOD)机制
- C++中智能指针-atuo_ptr、unique_ptr
- Kubernetes CSI
- 图像去模糊(维纳滤波)
- linux常用命令||
- “成功的人,从不被这一点束缚”
- hadoop Permission denied (publickey,password,keyboard-interactive).
- html预览dwg文件,大佬救命!有关dwg文件预览的问题
热门文章
- 使用Fiddler进行http抓包和调试
- 31、Arrays数组排序(续)——自定义排序
- Spring中的FactoryBean
- 原创Netty学习系列导航
- WPF Ribbon 开发资料分享
- MyEclipse安装配置maven插件
- [JNI] 开发基础(1) c语言基本类型
- 不能bostype没有元数据异常_金蝶EAS - BOS工作笔记
- 鲸鱼优化算法_鲸鱼优化算法:一种群体智能最优化方法
- miui游戏驱动程序偏好设置_MIUI 11 期待吗?MIUI 10这几个小设置,你都了解吗?...