工作流JBPM_day01:3-使用JBPM的API添加与执行流程
工作流JBPM_day01:3-使用JBPM的API添加与执行流程
流程定义画完得到压缩文件---》部署流程定义--》启动流程实例--》查询我的个人任务列表--》办理任务--》部门经理(总经理)查询、办理--》完成
导包、配置文件



从其他项目拷log4j.properties文件
配置信息

创建数据库


运行测试类会自动创建表


运行部署流程定义测试类。表中会生成一些数据

存到服务器数据库中


员工办理任务

办理好,查看部门经理个人任务列表

部门经理办理任务

查看总经理个人任务列表

总经理办理任务

完成流程

HelloWorld_API.java
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 HelloWorld_API {
//建表
@Test
public void createSchema() { //hbm2ddl.auto-update自动建表
new org.hibernate.cfg.Configuration()//
.configure("jbpm.hibernate.cfg.xml")//
.buildSessionFactory();
} private static ProcessEngine processEngine = new Configuration()//
.setResource("jbpm.cfg.xml")//
.buildProcessEngine(); // 1, 部署流程定义
@Test
public void deployProcessDefintion() { processEngine.getRepositoryService()
.createDeployment()
.addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//
.addResourceFromClasspath("helloworld/helloworld.png")//
.deploy();
}
@Test
// 2, 启动流程实例
public void startProvessIndtance() {
processEngine.getExecutionService().startProcessInstanceByKey("helloworld");
}
@Test
// 3, 查询我的个人任务列表
public void findMyPersonTaskList() {
// String userId = "员工";
// String userId = "部门经理";
String userId = "总经理";
//查询
List<Task> taskList = processEngine.getTaskService().findPersonalTasks(userId); //显示
System.out.println("===============【" + userId + "】的个人任务列表=============");
for(Task task : taskList) {
System.out.println("id=" + task.getId()//
+ ", name=" + task.getName()//任务名称
+ ", assignee=" + task.getAssignee());//办理人
}
}
@Test
// 4, 办理任务
public void completeTask() {
String taskId = "30001";
processEngine.getTaskService().completeTask(taskId);
}
}
工作流JBPM_day01:3-使用JBPM的API添加与执行流程的更多相关文章
- 工作流JBPM_day01:7-使用流程变量
工作流JBPM_day01:7-使用流程变量 工作流就像流水线 对应数据库中的一张表 ProcessVariableTest.Java import java.util.List; import or ...
- 工作流JBPM_day01:6-执行流程实例
工作流JBPM_day01:6-执行流程实例 执行流程 启动流程实例 查询任务列表 办理任务 向后执行一步 先部署流程定义在启动流程实例 Jbpm4_execution表表示正在执行的流程实例的的信息 ...
- 工作流JBPM_day01:4-管理流程定义
工作流JBPM_day01:4-管理流程定义 管理流程(流程定义) 部署(添加) 查询 删除 查看流程图(xxx.png) -- 修改 --> 没有真正的修改,而是使用“再次部署+使用最新版本启 ...
- 工作流JBPM_day01:1-说明_MyProcessDesigner_流程设计器
工作流JBPM_day01:1-说明 先只做请假功能,怎么做? (请假可以和考勤整合到一起) 1,银行(拿号---叫号---办理) 2,餐馆(点菜---上菜---结账) 3,网购(下订单--配送--收 ...
- JBPM工作流(五)——执行流程实例
概念: ProcessInstance,流程实例:代表流程定义的一次执行.如:张三昨天按请假流程请了一次假.一个流程实例包括了所有运行阶段,其中最典型的属性就是跟踪当前节点的指针,如下图. Execu ...
- 工作流JBPM_day01:5-管理流程定义3点改进
工作流JBPM_day01:5-管理流程定义3点改进 1.打包多个文件上传 再部署一个 查询所有看看,旧版本也查出来了 2.查询时只查询所有最新的版本 3.删除指定名称指定key的所有的它的版本
- 工作流JBPM_day01:2-HelloWorld
工作流JBPM_day01:2-HelloWorld 新建一个java工程Jbpm4.4 拷贝helloworld.jpdl.xml和helloworld.png文件出来压缩成helloworld.z ...
- 为IIS Host ASP.NET Web Api添加Owin Middleware
将OWIN App部署在IIS上 要想将Owin App部署在IIS上,只添加Package:Microsoft.OWIN.Host.SystemWeb包即可.它提供了所有Owin配置,Middlew ...
- Bing必应地图中国API - 添加实时交通信息
Bing必应地图中国API - 添加实时交通信息 2011-05-24 14:44:58| 分类: Bing&Google|字号 订阅 2009年4月23日,微软必应地图中国API新 ...
随机推荐
- 去除img、video之间默认间隔的几种方法
img,video{ /*第1种方式*/ border: ; vertical-align: bottom; /*第2种方式*/ outline-width:0px; vertical-align:t ...
- 配置maven为阿里云加速
<repositories> <repository> <id>nexus-aliyun</id> <name>Nexus aliyun&l ...
- 百度BAE 平台PHP对Mongodb的连接
<?php /*请替换为你自己的数据库名(可从管理中心查看到)*/ $dbname = 'XgmsRXDEYIDGmQFCjaZl'; /*从环境变量里取host,port,user,pwd*/ ...
- Android实例-红外线操作(XE10.2+小米5)
相关资料: http://blog.csdn.net/qq_21752153/article/details/50244717https://developer.xamarin.com/api/typ ...
- C中数组与指针【转】
在这里随便定义一个数组 int arr[5]; arr现在就是数组名, arr 代表的是该数组整块内存,即sizeof(arr) == 20 (假设sizeof(int) == 4), arr 里的内 ...
- linux搭建git服务器
服务端配置 1.安装git 2.新建一个用户,只能用来上传代码,而不能通过ssh登录,比如git用户 adduser git chsh -s $(command -v git-shell) git 使 ...
- C语言 · 完美的代价
基础练习 完美的代价 时间限制:1.0s 内存限制:512.0MB 锦囊1 使用贪心算法. 锦囊2 从左到右枚举每个字符,移动对应字符.个数为单的字符放中间. 问题描述 回文 ...
- C语言 · 简单加法
算法提高 简单加法 时间限制:1.0s 内存限制:256.0MB 问题描述 小于10的自然数中有四个数字能除尽3或5(3, 5, 6, 9),它们的和为23. 请计算所有小于1000 ...
- C/C++捕获段错误,打印出错的具体位置(精确到哪一行)_转
转自:C/C++捕获段错误,打印出错的具体位置(精确到哪一行) 修订:2013-02-16 其实还可以使用 glibc 的 backtrace_symbols 函数,把栈帧各返回地址里面的数字地址翻译 ...
- 使用平台调用(P/Invoke)
使用平台调用 P/Invoke.它的全名叫平台调用(platform invoke).用于调用dll 中实现的非托管的单调(flat)编程接口.被称为使用C或C++ 调用约定(calling conv ...