文档章节

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

若水尘埃
 若水尘埃
发布于 2014/09/02 11:42
字数 1064
阅读 23
收藏 0

教为学: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. public void testDeploy() {
  2.    ProcessEngine processEngine = Configuration.getProcessEngine();
  3.    processEngine.getRepositoryService()
  4.    .createDeployment()
  5.    .addResourceFromClasspath("qingjia.jpdl.xml")
  6.    .addResourceFromClasspath("qingjia.png")
  7.    .deploy();
  8. }

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

先解释几行代码和类。

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

 

 

 

© 著作权归作者所有

若水尘埃
粉丝 4
博文 37
码字总数 26761
作品 0
无锡
私信 提问
纵观jBPM:从jBPM3到jBPM5以及Activiti5

对jBPM来说,今年最大的事件莫过于jBPM的创建者Tom Baeyens离开JBoss了。Tom Baeyens离开的具体原因尚不清楚,但他的离开产生了两个结果:一是jBPM的下一个版本jBPM5完全放弃了jBPM4的基础代...

朱大
2011/08/16
758
0
图书免费赠送活动《jBPM4工作流应用开发指南》

活动内容: 参与活动者请从现在开始,到2010年10月30日这段时间内,对Oschina发布的《jBPM4工作流应用开发指南》一书内容章节进行客观点评,及大家对于工作流开发的经验,或者对工作流的认识...

sharepub
2010/09/26
7.2K
98
带你进入 jBPM 工作流的世界

1 什么是工作流 工作流管理联盟(WFMC)把工作流定义为:全部或部分由计算机支持或自动处理的业务过程。 工作流管理系统(Workflow Management System,WFMS)用来支持流程定义、管理和执行一...

deniro
2018/01/12
0
0
activiti工作流引擎(一)why activiti

公司早前花了一年,由5人左右规模的团队,弄了一个工作流为基础的平台系统,基于jbpm4实现。 最近我接手了这个项目组,开始在想升级优化的事情,刚开始想着从业务通用化的角度去改造。但看着...

fengwenjie
2014/03/01
5.7K
1
关于《jBPM4工作流应用开发指南》常见问题的统一答复

最近把《jBPM4工作流应用开发指南》的样章和目录放到网上之后,收到了大量读者的来信,综合这些来信,我们对常见的问题进行了如下的统一答复. 图书免费赠送活动《jBPM4工作流应用开发指南》参看...

sharepub
2010/10/13
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

自定义ApiBoot Logging链路以及单元ID生成策略

ApiBoot Logging会为每一个请求都对应创建链路编号(TraceID)以及单元编号(SpanID),用于归类每一次请求日志,通过一个链路下日志单元的Parent SpanID可以进行上下级关系的梳理。 前文回顾...

恒宇少年
25分钟前
10
0
浅谈 Application 和 activity

对于 在 Application初始化一些变量,为什么不可以放在activity 或者其他的组件里呢? 这里就根据个人的理解来讲述一下,欢迎补充指正。 首先 activity 是以栈的形式出现,一个app应用会有多...

MrLins
25分钟前
11
0
Allegro的脚本文件内容里都有哪些

小伙伴们在使用Allegro的时候是否经常用到脚本文件夹呢?scr的用法其实可真不简单。。。 首先脚本文件的运行模式就存在很多种,比如不提示错误信息,不弹出确认对画框(这样很有利于我们执行...

demyar
27分钟前
19
0
微信升级外链管理规范,「砍一刀帮我加速」要被禁止了

原创: 蒋鸿昌 首发:「知晓程序」公众号 - 最好的微信新商业媒体 几天前,知名互联网评论人阑夕模仿皮尤研究中心(Pew Research Center)在美国做的互联网通识调查问卷,做了一份中文版问卷...

知晓云
27分钟前
15
0
CentOS 7接投影仪

我将一台安装着CentOS 7图形界面的惠普笔记本电脑当桌面使用。最近,想要连接投影仪时却遇到了问题。笔记本有一个HDMI接口。我买了一个HDMI---->VGA的转接线,连上笔记本电脑后,屏幕一直在闪...

大别阿郎
31分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部