JBPM4学习之路2:流程部署

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

  1. 画流程图

     

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

    JBPM4学习之路2:流程部署

    步骤:

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

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

    1. 整个流程图的设置如下。

    JBPM4学习之路2:流程部署

    1. 连线。
    2. XML文件的内容如下:
    1. <?xml version="1.0" encoding="UTF-8"?>
    2.  
    3. <process name="qingjia" xmlns="http://jbpm.org/4.4/jpdl">
    4.    <start g="293,63,48,48" name="start1">
    5.       <transition g="-69,-22" name="to 申请请假" to="申请请假"/>
    6.    </start>
    7.    <end g="290,375,48,48" name="end1"/>
    8.    <task assignee="张三" g="272,160,92,52" name="申请请假">
    9.       <transition g="-69,-22" name="to 批复请假" to="批复请假"/>
    10.    </task>
    11.    <task g="270,261,92,52" name="批复请假" assignee="李四">
    12.       <transition g="-50,-22" name="to end1" to="end1"/>
    13.    </task>
    14. </process>

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

     

    部署流程

     

    部署流程的代码:

    1. @Test
    2. public void testDeploy() {
    3.    ProcessEngine processEngine = Configuration.getProcessEngine();
    4.    processEngine.getRepositoryService()
    5.    .createDeployment()
    6.    .addResourceFromClasspath("qingjia.jpdl.xml")
    7.    .addResourceFromClasspath("qingjia.png")
    8.    .deploy();
    9. }

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

    先解释几行代码和类。

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

    方法:

    getRepositoryService():获取RepositoryService对象。

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

    方法:

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

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

    方法:

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

    NewDeployment接口。

    方法

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

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

    首次:

    操作

    表名

    次数

    备注

    查询

    JBPM4_PROPERTY

    4

     

    插入

    JBPM4_PROPERTY

    1

     

    查询

    JBPM4_PROPERTY

    1

     

    更新

    JBPM4_PROPERTY

    1

     

    查询

    JBPM4_LOB

    2

     

    插入

    JBPM4_DEPLOYMENT

    1

     

    插入

    JBPM4_LOB

    2

     

    插入

    JBPM4_DEPLOYPROP

    1

     

    更新

    JBPM4_DEPLOYPROP

    1

     

    更新

    JBPM4_LOB

    2

     

    更新

    JBPM4_DEPLOYPROP

    1

     

    查询

    JBPM4_DEPLOYMENT

    JBPM4_DEPLOYPROP

    4

     

    插入

    JBPM4_DEPLOYPROP

    3

     

    更新

    JBPM4_DEPLOYPROP

    6

     

    其他部署:

    操作

    表名

    次数

    备注

    查询

    JBPM4_PROPERTY

    3

     

    更新

    JBPM4_PROPERTY

    1

     

    查询

    JBPM4_LOB

    2

     

    插入

    JBPM4_DEPLOYMENT

    1

     

    插入

    JBPM4_LOB

    2

     

    插入

    JBPM4_DEPLOYPROP

    1

     

    更新

    JBPM4_DEPLOYPROP

    1

     

    更新

    JBPM4_LOB

    2

     

    更新

    JBPM4_DEPLOYPROP

    1

     

    查询

    JBPM4_DEPLOYMENT

    JBPM4_DEPLOYPROP

    4

     

    插入

    JBPM4_DEPLOYPROP

    3

     

    更新

    JBPM4_DEPLOYPROP

    6

     

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

    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:在特性情况也会增加一条记录。

 

你可能感兴趣的:(jbpm4)