流程部署的查询、删除、流程
2013-06-01 23:13
369 查看
流程部署的查询、删除、流程
我坚信初学者更加明白初学者学习的困难在哪里。我坚信最好的学习资料是自己亲手记录。
我坚信最好的学习方法是自己动手。
我坚信最好的检验方式就是能把自己所学到的东西转手教给别人。
-----作者: 高鹏
教为学:JBPM4.4学习之路(三):流程部署的查询、删除、流程图查看
前言
数据库有增删改查。流程部署有什么功能?
JBPM的操作归根结底还是对数据库进行操作。所以理论上,我们对数据库所能执行的操作,流程部署的API都能为我们提供。
我们先上一篇博文所提到的四张表的ER图。
一句话,再怎么强调表结构也不为过。
这节课也是对这几张表的操作。
随着我们的深入学习,这张ER图会越来越大,当所有的表都在这张图里面的时候,我们也学得差不多了。
查询
在查询之前我们先看一张图。这张图在哪里与数据库中的哪一张表想对应?
1、查询所有部署。
代码:
@Test
public void testListAllDeploy(){
ProcessEngine processEngine = Configuration.getProcessEngine();
List<Deployment> listDeployments = processEngine.getRepositoryService()
.createDeploymentQuery()
.list();
for (Deployment deployment : listDeployments) {
System.out.print("ID:"+deployment.getId());
System.out.println(" STATE:"+deployment.getState());
}
}
API详解:
RepositoryService接口:
方法:createDeploymentQuery()
获取一个DeploymentQuery接口。
DeploymentQuery查询接口:
方法:list()
获取Deployment集合。
Deployment:接口。
String getId();
String getName();
long getTimestamp();
String getState();
不解释。
数据库操作:
操作 | 表名 | 次数 | 备注 |
查询 | JBPM4_PROPERTY | 2 | |
查询 | JBPM4_DEPLOYMENT | 1 |
代码:
@Test
public void testGetDeployByID(){
ProcessEngine processEngine = Configuration.getProcessEngine();
Deployment deployment = processEngine.getRepositoryService()
.createDeploymentQuery()
.deploymentId("10001")
.uniqueResult();
System.out.print("ID:"+deployment.getId());
System.out.println(" STATE:"+deployment.getState());
}
API详解:
DeploymentQuery deploymentId(String id);
根据流程ID查询部署流程。
Deployment uniqueResult();
返回唯一的流程部署结果。
数据库操作:
操作 | 表名 | 次数 | 备注 |
查询 | JBPM4_PROPERTY | 2 | |
查询 | JBPM4_DEPLOYMENT | 1 |
源码:
@Test
public void testAllPD(){
ProcessEngine processEngine = Configuration.getProcessEngine();
List<ProcessDefinition> pdList = processEngine.getRepositoryService()
.createProcessDefinitionQuery()
.list();
for (ProcessDefinition processDefinition : pdList) {
System.out.print("ID:"+processDefinition.getId());
System.out.print("======Key:"+processDefinition.getKey());
System.out.print("======Name:"+processDefinition.getName());
System.out.println("======Version:"+processDefinition.getVersion());
}
}
我觉得没什么API必要详解。因为依样画葫芦也能知道这些API有很么意思。
操作 | 表名 | 次数 | 备注 |
查询 | JBPM4_PROPERTY | 2 | |
查询 | JBPM4_DEPLOYMENT JBPM4_DEPLOYPROP | 1 | |
查询 | JBPM4_LOB | 1 | |
查询 | JBPM4_DEPLOYPROP | 1 | |
查询 | JBPM4_DEPLOYMENT | 1 | |
查询 | JBPM4_LOB | 1 | |
查询 | JBPM4_DEPLOYPROP | 1 | |
查询 | JBPM4_DEPLOYMENT | 1 | |
查询 | JBPM4_LOB | 1 | |
查询 | JBPM4_DEPLOYPROP | 1 |
查看流程图
查看流程图第一件事就是从数据库中把流程图取出来。代码如下:
@Test
public void testShowImage() throws Exception{
ProcessEngine processEngine = Configuration.getProcessEngine();
InputStream inputStream = processEngine.getRepositoryService()
.getResourceAsStream("20001", "qingjia.png");
OutputStream outputStream = new FileOutputStream("c:"+File.separator+"qingjia.png");
int b;
while ((b=inputStream.read())!=-1) {
outputStream.write(b);
}
inputStream.close();
outputStream.close();
}
getResourceAsStream("20001", "qingjia.png")这个应该不需要解释。
操作 | 表名 | 次数 | 备注 |
查询 | JBPM4_PROPERTY | 2 | |
查询 | JBPM4_DEPLOYMENT | 1 | |
查询 | JBPM4_LOB | 1 |
删除部署
代码:@Test
public void testDelete() {
ProcessEngine processEngine = Configuration.getProcessEngine();
processEngine.getRepositoryService().deleteDeployment("10001");
}
deleteDeployment
deleteDeploymentCascade
后者会把子流程一起删除!
操作 | 表名 | 次数 | 备注 |
查询 | JBPM4_PROPERTY | 2 | |
查询 | JBPM4_DEPLOYMENT JBPM4_DEPLOYPROP | 1 | |
查询 | JBPM4_LOB | 1 | |
查询 | JBPM4_DEPLOYMENT | 1 | |
查询 | JBPM4_LOB | 1 | |
查询 | JBPM4_DEPLOYPROP | 1 | |
查询 | JBPM4_EXECUTION | 1 | |
更新 | JBPM4_LOB | 1 | |
更新 | JBPM4_DEPLOYPROP | 1 | |
删除 | JBPM4_LOB | 2 | |
删除 | JBPM4_DEPLOYPROP | 4 | |
删除 | JBPM4_DEPLOYMENT | 1 |
总结
很多的时候,所谓的流程管理本质离不开对这几张表的增删改查。所以,你怎么熟悉这几张表都不过分。
相关文章推荐
- 教为学:JBPM4.4学习之路(三):流程部署的查询、删除、流程图查看
- Jbpm笔记之一 -- 流程定义管理( 部署和定义查询、删除、查看流程图)
- JBPM4.4:API风格、管理(部署、删除、更改、查询(文件资源、活动坐标))流程定义
- activiti学习--04流程定义:流程定义组成+部署流程定义+查询流程定义+删除流程定义+删除流程定义+查询最新版本的流程定+查询最新版本的流程定义
- 教为学:JBPM4.4学习之路(三):流程部署的查询、删除、流程图查看
- JBPM4入门——5.流程定义的发布、查询、删除
- jbpm流程定义基本操作 布署 查询 删除
- JBPM发布流程、查询流程、删除流程
- (四)Activiti之流程定义部署之ZIP方式和流程定义查询
- JBPM4入门——5.流程定义的发布、查询、删除
- 如何部署、启动、查询和完成流程
- 流程定义和部署管理——删除流程定义
- Activiti5流程定义(添加、查询、删除、修改)
- Activiti基础教程--04管理流程定义(流程定义部署ZIP/classpath)、查看(获取流程定义图图片)、删除,不能修改
- JBPM4入门——5.流程定义的发布、查询、删除
- Activiti基础教程--04管理流程定义(流程定义部署ZIP/classpath)、查看(获取流程定义图图片)、删除,不能修改
- Activit流程部署、删除
- activiti 流程定义部署及查询
- activiti学习--05流程实例:部署流程定义+部署流程定义+查询当前人的个人任务+完成我的任务
- activiti 部署流程定义(InputStream) 流程变量设置 及获取流程变量、查询流程变量历史表