zoukankan      html  css  js  c++  java
  • 教为学:JBPM4学习之路(二):流程部署

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

    画流程图

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

    步骤:

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

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

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

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

  • 相关阅读:
    各种加密解密函数(URL加密解密、sha1加密解密、des加密解密)
    php实现和c#一致的DES加密解密
    使用phpQuery轻松采集网页内容
    PHP 类与对象 全解析(三)
    PHP 类与对象 全解析( 二)
    PHP 类与对象 全解析( 一)
    iconv 中文截断问题的解决方法
    jQuery插件开发全解析
    jQuery ajax
    360手机新品牌5月6日公布 周鸿祎席地而坐谈AK47
  • 原文地址:https://www.cnblogs.com/jiaoweixue/p/3105250.html
Copyright © 2011-2022 走看看