好得很程序员自学网

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

JBPM4学习之路2:流程部署

JBPM4学习之路2:流程部署

JBPM4学习之路(二):流程部署

画流程图

要部署流程,得先有流程,要有流程,得先有流程图,那要流程图,得画呗。我们画的流程图如下:

步骤:

拖一个开始节点,一个结束节点,两个任务节点。 设置两个任务节点。 第一个任务节点的设置如下。

第二个任务节点设置如下。

整个流程图的设置如下。

连线。 XML文件的内容如下:

<? xml version="1.0" encoding="UTF-8" ?>

 

< process   name ="qingjia"   xmlns = "http://jbpm.org/4.4/jpdl">

    < start   g ="293,63,48,48"   name = "start1">

       < transition   g ="-69,-22"   name = "to 申请请假"   to = "申请请假"/>

    </ start >

    < end   g ="290,375,48,48"   name = "end1"/>

    < task   assignee ="张三"   g = "272,160,92,52"   name = "申请请假">

       < transition   g ="-69,-22"   name = "to 批复请假"   to = "批复请假"/>

    </ task >

    < task   g ="270,261,92,52"   name = "批复请假"   assignee = "李四">

       < transition   g ="-50,-22"   name = "to end1"   to = "end1"/>

    </ task >

</ process >

流程图画了,也自动生成了"流程图"。

部署流程

部署流程的代码:

@Test

public   void  testDeploy() {

   ProcessEngine processEngine = Configuration.getProcessEngine();

   processEngine.getRepositoryService()

   .createDeployment()

   .addResourceFromClasspath(" qingjia.jpdl.xml ")

   .addResourceFromClasspath(" qingjia.png ")

   .deploy();

}

这几行代码对数据库的操作。

先解释几行代码和类。

ProcessEngine接口:流程引擎接口,是所有服务的起点。是线程安全的。

方法:

getRepositoryService():获取RepositoryService对象。

Configuration类:配置类,用来读取配置文件,产生流程引擎类。

方法:

getProcessEngine():获取流程引擎对象。

RepositoryService接口:流程服务接口。提供对流程的部署、查询、删除操作。

方法:

createDeployment():创建一个部署产生一个NewDeployment。

NewDeployment接口。

方法

addResourceFromClasspath():添加资源。 //根据资源类型的不同,这里提供了几种方法。暂时不一一列举了。

deploy():产生一个真实的部署。

首次:

操作

表名

次数

备注

查询

JBPM4_PROPERTY

 

插入

JBPM4_PROPERTY

1

 

查询

JBPM4_PROPERTY

 

更新

JBPM4_PROPERTY

 

查询

JBPM4_LOB

 

插入

JBPM4_DEPLOYMENT

1

 

插入

JBPM4_LOB

2

 

插入

JBPM4_DEPLOYPROP

1

 

更新

JBPM4_DEPLOYPROP

 

更新

JBPM4_LOB

 

更新

JBPM4_DEPLOYPROP

 

查询

JBPM4_DEPLOYMENT

JBPM4_DEPLOYPROP

 

插入

JBPM4_DEPLOYPROP

3

 

更新

JBPM4_DEPLOYPROP

 

其他部署:

操作

表名

次数

备注

查询

JBPM4_PROPERTY

 

更新

JBPM4_PROPERTY

 

查询

JBPM4_LOB

 

插入

JBPM4_DEPLOYMENT

1

 

插入

JBPM4_LOB

2

 

插入

JBPM4_DEPLOYPROP

1

 

更新

JBPM4_DEPLOYPROP

 

更新

JBPM4_LOB

 

更新

JBPM4_DEPLOYPROP

 

查询

JBPM4_DEPLOYMENT

JBPM4_DEPLOYPROP

 

插入

JBPM4_DEPLOYPROP

3

 

更新

JBPM4_DEPLOYPROP

 

查询和跟新,我现在水平不够管不了,先不管,看看插入。

JBPM4_PROPERTY:

我找了很多资料,也没找到对这张表确切的定义,以及其表字段的明确所指。所以,我谈谈我的理解。

KEY_:这个值永远不变?还是我见识不够,会有新的产生?或者为什么做预留?里面的值是next.dbid VALUE_:和KEY_下一次部署的dbid值。 VERSION:不明白为什么叫版本?指的KEY-VALUE的版本?反正每部署一次,加一。

JBPM4_DEPLOYMENT:

流程定义表。

OBID_:其实就是主键ID,流程的OBID是由JBPM4_PROPERTY的next.obid的值在部署的时候决定的。 NAME_:流程模板名称。 //暂时没搞懂由哪里决定的。 TIMESTAMP_:时间戳。 //暂时不知道有什么用。 STATE_:状态。

JBPM4_DEPLOYPROP:

流程定义属性表。

OBID_: 主键ID,同一个部署流程是在JBPM4_DEPLOYMENT的OBID_的基础上进行加法操作。比如JBPM4_DEPLOYMENT的OBID_是20001,这里可能是20002、20003,以此类推。 DEPLOYMENT_:JBPM4_DEPLOYMENT主键的外键,也就是流程ID。 OBJNAME_:流程名称。

KEY_:类型。

Langid:语言版本

Pdid:流程定义名称和版本号。

Pdkey:流程定义名称。

Pdversion:流程定义版本号。

STRINGVAL_:类型字符串的值。 LONGVAL_:类型数值。

JBPM4_LOB:

流程图资源存储表。

OBID_: 主键ID,同一个部署流程是在JBPM4_DEPLOYMENT的OBID_的基础上进行加法操作。比如JBPM4_DEPLOYMENT的OBID_是20001,这里可能是20002、20003,以此类推。 DBVERSION_:版本。 BLOB_VALUE_:流程图的资源。 DEPLOYMENT_:JBPM4_DEPLOYMENT主键的外键,也就是流程ID。 NAME_:流程图资源名字。

部署流程对表的添加操作

发布一个流程deploy后

JBPM4_PROPERTY:新增一条记录

JBPM4_DEPLOYPROP:新增三条记录

JBPM4_LOB:新增若干条记录 (不定)

JBPM4_PROPERTY: 在特性情况也会增加一条记录。

作者: Leo_wl

    

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

    

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

版权信息

查看更多关于JBPM4学习之路2:流程部署的详细内容...

  阅读:51次