工作流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新 ...
随机推荐
- js 的登录验证
$scope.startLogin = function () { console.log('loginTimeHelper:startLogin: ' + getCurrentTime()); ef ...
- 命令运行带参数的jar
一.打包(此处用的是eclipse) 代码如下,此如引用了某博主的代码,因忘记地址,如博主发现此文,可私信我 package com.example.Open; import java.io.File ...
- 【Maven】maven打包生成可执行jar文件
http://blog.csdn.net/u013177446/article/details/53944424 ******************************************* ...
- .net core相关博客
http://www.cnblogs.com/artech/蒋金楠,网名Artech,知名IT博主, 微软多领域MVP,畅销IT图书作者,著<WCF全面解析>.<ASP.NET MV ...
- js队列的实现问题
所谓队列就是排队的序列问题,有出有进,比如在银行排队办理业务,一般都是前一个办理完成后下一个自动进入队列 <script> /* * 模拟队列 */ var Qu ={}; //构造函数 ...
- django admin 或xdmin list_display search_fields list_filter 如果显示搜索外键或多对多字段
model class UserProfile(AbstractUser): nick_name = models.CharField(max_length=50, verbose_name=u&qu ...
- mysql data_add data_sub
DATE_SUB() 函数从日期减去指定的时间间隔. 语法 DATE_SUB(date,INTERVAL expr type) date 参数是合法的日期表达式.expr 参数是您希望添加的时间间隔. ...
- VBA学习笔记(5)--事件,记录每次操作改动
说明(2017.3.24): 1. 记录sheet1里面的每次改动,和改动时间! 2. 不能记录大范围的删除.改动,会提示“类型不匹配” Private Sub Worksheet_Change(By ...
- docker探索-在centos6.5中安装docker(三)
1.要求 centos6.5中需要64位 centos6.5的linux内核需要3.x(centos的内核是2.6) 2.查看当前系统的位数和版本 [root@jacky jacky]# uname ...
- LAN8710A/LAN8710Ai datasheet 记录
因为产品的双网口出现了问题,而且是AM335x 内部驱动,难度比较大,现从PHY 端开始分析相关原理,找到双网口不能使用的原因. 此篇是记录一些有关LAN8710A 这个PHY的一些特性. 各个功能模 ...