教为学:JBPM4.4学习之路(三):流程部署的查询、删除、流程图查看

教为学:JBPM4.4学习之路(三):流程部署的查询、删除、流程图查看

前言

数据库有增删改查。

流程部署有什么功能?

JBPM的操作归根结底还是对数据库进行操作。所以理论上,我们对数据库所能执行的操作,流程部署的API都能为我们提供。

我们先上一篇博文所提到的四张表的ER图。

一句话,再怎么强调表结构也不为过。

这节课也是对这几张表的操作。

随着我们的深入学习,这张ER图会越来越大,当所有的表都在这张图里面的时候,我们也学得差不多了。

查询

在查询之前我们先看一张图。

这张图在哪里与数据库中的哪一张表想对应?

1、查询所有部署。

代码:

  1.    public void testListAllDeploy(){
  2.       ProcessEngine processEngine = Configuration.getProcessEngine();
  3.        List<Deployment> listDeployments = processEngine.getRepositoryService()
  4.        .createDeploymentQuery()
  5.        .list();
  6.       for (Deployment deployment : listDeployments) {
  7.          System.out.print("ID:"+deployment.getId());
  8.          System.out.println(" STATE:"+deployment.getState());
  9.       }
  10.  
  11.    }

API详解:

RepositoryService接口:

方法:createDeploymentQuery()

获取一个DeploymentQuery接口。

DeploymentQuery查询接口:

方法:list()

获取Deployment集合。

Deployment:接口。

String getId();

String getName();

long getTimestamp();

String getState();

不解释。

数据库操作:

操作

表名

次数

备注

查询

JBPM4_PROPERTY

2

 

查询

JBPM4_DEPLOYMENT

1

 

2、根据流程ID去查看部署。

代码:

  1.    public void testGetDeployByID(){
  2.       ProcessEngine processEngine = Configuration.getProcessEngine();
  3.       Deployment deployment = processEngine.getRepositoryService()
  4.       .createDeploymentQuery()
  5.       .deploymentId("10001")
  6.       .uniqueResult();
  7.       System.out.print("ID:"+deployment.getId());
  8.       System.out.println(" STATE:"+deployment.getState());
  9.    }

API详解:

DeploymentQuery deploymentId(String id);

根据流程ID查询部署流程。

Deployment uniqueResult();

返回唯一的流程部署结果。

数据库操作:

操作

表名

次数

备注

查询

JBPM4_PROPERTY

2

 

查询

JBPM4_DEPLOYMENT

1

 

3、查询所有的流程定义。

源码:

  1.    public void testAllPD(){
  2.       ProcessEngine processEngine = Configuration.getProcessEngine();
  3.       List<ProcessDefinition> pdList = processEngine.getRepositoryService()
  4.       .createProcessDefinitionQuery()
  5.       .list();
  6.       for (ProcessDefinition processDefinition : pdList) {
  7.          System.out.print("ID:"+processDefinition.getId());
  8.          System.out.print("======Key:"+processDefinition.getKey());
  9.          System.out.print("======Name:"+processDefinition.getName());
  10.          System.out.println("======Version:"+processDefinition.getVersion());
  11.       }
  12.    }

我觉得没什么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

 

其他的几种查询方式就一一表述了,依样画葫芦吧。

查看流程图

查看流程图第一件事就是从数据库中把流程图取出来。

代码如下:

  1.    public void testShowImage() throws Exception{
  2.       ProcessEngine processEngine = Configuration.getProcessEngine();
  3.       InputStream inputStream = processEngine.getRepositoryService()
  4.       .getResourceAsStream("20001", "qingjia.png");
  5.  
  6.       OutputStream outputStream = new FileOutputStream("c:"+File.separator+"qingjia.png");
  7.       int b;
  8.       while ((b=inputStream.read())!=-1) {
  9.          outputStream.write(b);
  10.       }
  11.       inputStream.close();
  12.       outputStream.close();
  13.    }

getResourceAsStream("20001", "qingjia.png")这个应该不需要解释。

操作

表名

次数

备注

查询

JBPM4_PROPERTY

2

 

查询

JBPM4_DEPLOYMENT

1

 

查询

JBPM4_LOB

1

 

删除部署

代码:

  1.    public void testDelete() {
  2.       ProcessEngine processEngine = Configuration.getProcessEngine();
  3.       processEngine.getRepositoryService().deleteDeployment("10001");
  4.    }

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

 

 

总结

很多的时候,所谓的流程管理本质离不开对这几张表的增删改查。

所以,你怎么熟悉这几张表都不过分。

转载于:https://my.oschina.net/u/1582282/blog/309091

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值