好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

流程部署的查询、删除、流程

流程部署的查询、删除、流程

流程部署的查询、删除、流程

我坚信初学者更加明白初学者学习的困难在哪里。

我坚信最好的学习资料是自己亲手记录。

我坚信最好的学习方法是自己动手。

我坚信最好的检验方式就是能把自己所学到的东西转手教给别人。

-----作者: 高鹏

教为学: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

 

查询

JBPM4_DEPLOYMENT

 

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

代码:

@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

 

查询

JBPM4_DEPLOYMENT

 

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

源码:

@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

 

查询

JBPM4_DEPLOYMENT

JBPM4_DEPLOYPROP

 

查询

JBPM4_LOB

 

查询

JBPM4_DEPLOYPROP

 

查询

JBPM4_DEPLOYMENT

 

查询

JBPM4_LOB

 

查询

JBPM4_DEPLOYPROP

 

查询

JBPM4_DEPLOYMENT

 

查询

JBPM4_LOB

 

查询

JBPM4_DEPLOYPROP

 

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

查看流程图

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

代码如下:

@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

 

查询

JBPM4_DEPLOYMENT

 

查询

JBPM4_LOB

 

删除部署

代码:

@Test

    public   void  testDelete() {

      ProcessEngine processEngine = Configuration.getProcessEngine();

      processEngine.getRepositoryService().deleteDeployment(" 10001 ");

   }

deleteDeployment

deleteDeploymentCascade

后者会把子流程一起删除!

操作

表名

次数

备注

查询

JBPM4_PROPERTY

 

查询

JBPM4_DEPLOYMENT

JBPM4_DEPLOYPROP

 

查询

JBPM4_LOB

 

查询

JBPM4_DEPLOYMENT

 

查询

JBPM4_LOB

 

查询

JBPM4_DEPLOYPROP

 

查询

JBPM4_EXECUTION

 

更新

JBPM4_LOB

 

更新

JBPM4_DEPLOYPROP

 

删除

JBPM4_LOB

 

删除

JBPM4_DEPLOYPROP

 

删除

JBPM4_DEPLOYMENT

 

总结

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

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

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于流程部署的查询、删除、流程的详细内容...

  阅读:40次