JBPM4 常用表结构及其说明
本文从表结构、操作时表的变化以及jbpm4.4各个包的作用来介绍jbpm的。
审批结束
Ø jbpm4_hist_actinst (活动节点实例表):新增一条记录
提供使用ant发布流程,辅助启动jboss的任务。
org.jbpm.pvm.internal.builder
用来构造各种模型,包括活动,活动行为,事件,事件处理器,流程定义,变量,任务,等等。
org.jbpm.pvm.internal.cal
提供日历,包括日期,时间段,持续时间,节假日。
org.jbpm.pvm.internal.cfg
JbpmConfiguration和SpringConfiguration实现了org.jbpm.api.Configuration,用来从配置文件构造ProcessEngine
org.jbpm.pvm.internal.xml
主要用于解析xml的,主要解析jbpm.cfg.xml和流程定义文件
org.jbpm.pvm.internal.util
包含常用工具
org.jbpm.pvm.internal.wire
用来在ioc里进行依赖绑定。子包包含binding, descriptor, operation和xml,而且默认的绑定方式是使用field,而不是常见的setter绑定方式。
org.jbpm.pvm.internal.type
用来进行类型转换,主要是加载jbpm.cfg.xml对流程引擎进行初始化时,还有就是发布流程的时候进行类型转换。子包包括converter,matcher和variable,类型转换器,类型匹配器和变量。
org.jbpm.pvm.internal.tx
其中负责处理事务,JtaTransaction啦,SpringTransationInterceptor
啦,StandardTransaction啦,这些需要根据实际环境具体选择。jta的实现部分已经单独放到子包jta中了。希望spring中的事务
也能这样处理就好了。
org.jbpm.pvm.internal.test
包下放了一个JobTestHelper,显然是可以帮助在测试环境下运行job的,。
org.jbpm.api.client
这部分包含ClientExecution, ClientProcessDefinition,
ClientProcessInstance。ClientExecution继承了OpenExecution,声明了end(),
signal(), suspend(),
resume()之类的方法。ClientProcessDefintion继承了OpenProcessDefintion,其中的功能主要是
createProcessInstance和startProcessInstance。
org.jbpm.pvm.internal.cmd
包含Command和CommandService,这是命令设计模式的基础。其中放着所有的命令,所有的流程操作都可以在这里找到。
org.jbpm.pvm.internal.email
下面有两个子包impl和spi,只要注意spi下的AddressResolver, MailProducer和MailSession就可以实现自定义的实现了。
org.jbpm.pvm.internal.env
包含Context, Environment, EnvironmentFactory, Transaction,
WireObject。其中Context,
Environment和EnvironmentFactory组成了jBPM4里的IoC系统。Transaction定义了通用事务。
WireObject用来做依赖绑定。下面保存着环境有关的实现类。包括Authentication权限认证,Environment与context
相关的各个类。
org.jbpm.pvm.internal.hibernate
下面的类是专门与hibernate进行交互的类,包含类型转换,命名策略和最主要的DbSessionImpl,所有与数据库的操作都来源于此。
org.jbpm.pvm.internal.history
下面是历史操作所需要的部分,其下还包含events和model包。
org.jbpm.pvm.internal.identity
包主要负责身份认证的操作。包含三个子包cmd, impl和spi,cmd下定义所用到的命令,impl下是实现类,spi下放着IdentitySession。
org.jbpm.pvm.internal.jms
包括JmsMessageSession和JmsMessageUtil,应该是用来处理jms的,JmsMessageSession与 org.jbpm.api.job.Message相关联。说明job下的Message是依靠jms发送异步消息的。
org.jbpm.pvm.internal.job
提供了对job, message和timer的实现
org.jbpm.pvm.internal.jobexecutor
提供了任务执行器,包括JobExecutorServlet和对应的线程池,以及一系列的命令和处理器。无论是job, message或是timer,最终都会被这里执行。
org.jbpm.pvm.internal.lob
主要用来处理流程发布时的文件内容,需要把jpdl.xml文件和图片,甚至是以后可能把class文件都以附件形式保存到数据库中,以备后用
org.jbpm.pvm.internal.model
这个模型包中包含了很多很多类,包括Activity, CompositeElement, Condition,
ObservableElement,
OpenProcessDefinitionTransition。简单分类一下。最底层的是ObservableElement,它是可以被事件监听的
元素,并且可以继承,CompositeElement继承了
ObservableElement,它里面可以装填多个活动。再加上Event中定义了多个事件,这些就构成了最基本的事件模型。Activity和
ActivityCoordinates分别定义了活动类和活动位置。以这些为基础,OpenProcessDefinition继承了
ProcessDefinition和CompositeElement。最终,我们还有一个Condition类,它只有一个evaluate方法,接
受OpenExecution作为参数返回boolean值,Condition和Activity组合成了Transition,这个转移包含了起点,
终点,以及条件判断。最庞大的模型部分,活动,转移,流程定义,流程实例的实现类都放在这里。在它的op子包中包含的是流程进行中的各项操作。
org.jbpm.pvm.internal.query
History, Job, ProcessDefintion, ProcessInstance这四个query类的实现,还提供了一个Page类,但是其中只有firstResult和maxResults,所以没啥大用
org.jbpm.pvm.internal.repository
负责的是流程的发布,主要有Deployment和Repository对应的service, session和cache,这里使用的缓存,所以每次使用流程定义的时候可以利用缓存提高效率。
org.jbpm.pvm.internal.script
包含对脚本的支持,默认支持了JuelScriptEngine。
org.jbpm.pvm.internal.session
支持各种会话,DbSession, MessageSession, RepositorySession和TimerSession。
org.jbpm.pvm.internal.spring
只有一个CommandTransactionCallback用来实现从spring中获得事务,并用其执行jbpm中定义的各种命令
org.jbpm.pvm.internal.stream
用于从各种途径读取资源,无论是jbpm配置文件和流程资源都要通过这些来转换成流的形式,以供给jbpm处理。
org.jbpm.pvm.internal.svc
其中svc或许是service的缩写。这个包中除了包括org.jbpm.api包下定义的所有service接口的实现,还包括commandService的实现和认证拦截器。
org.jbpm.pvm.internal.task
代表了所有与任务,任务参与者相关的信息,包括Assignable, AssignmentHandler, OpenTask,
Participation, Swimlane, Task,
TaskDefinition。简单划分后,主要有任务,任务定义任务处理。剩下的都是与任务分配有关了。TaskDefinition从字面上来看是指
任务定义,里边只有一个getName()。Task中保存了任务相关的一些内容,OpenTask主要用来处理历史事件。参与者部分基本分成三个部分,
以Assignable和AssignmentHandler组成的自定义分配部分,Participation参与者和swimlane泳道。暂时没有
发现三者之间与任务的联系
审批结束
Ø jbpm4_hist_actinst (活动节点实例表):新增一条记录
jbpm4.4最核心的包
1.antlr.jar
2.commons-collections.jar
3.commons-logging.jar
4.dom4j.jar
5.hibernate-core.jar
6.javassist.jar
7.jbpm.jar
8.jta.jar
9.mail.jar
10.slf4j-api.jar
11.slf4j-jdk14.jar
12.slf4j-log4j12.jar
配置文件
jbpm.execution.hbm.xml, jbpm.history.hbm.xml, jbpm.identity.hbm.xml, jbpm.repository.hbm.xml, jbpm.task.hbm.xml五个hibernate映射文件
jbpm.default.cfg.xml ----> 流程引擎的默认配置文件
jbpm.identity.cfg.xml ----> 身份验证配置文件
jbpm.jbossremote.cfg.xml ----> 远程调用jboss实现命令模式
jbpm.jobexecutor.cfg.xml ----> 任务执行器的配置
jbpm.task.lifecycle.xml ----> 任务生命周期,包括启动,暂停,继续,完成,取消之类
jbpm.tx.hibernate.cfg.xml----> 默认的hibernate事务配置
jbpm.tx.jta.cfg.xml ----> jta的事务配置
jbpm.variable.types.xml ----> 配置变量类型映射
jbpm.wire.bindings.xml ----> 依赖绑定映射
jbpm4.4包作用
org.jbpm.pvm.internal.ant
提供使用ant发布流程,辅助启动jboss的任务。
org.jbpm.pvm.internal.builder
用来构造各种模型,包括活动,活动行为,事件,事件处理器,流程定义,变量,任务,等等。
org.jbpm.pvm.internal.cal
提供日历,包括日期,时间段,持续时间,节假日。
org.jbpm.pvm.internal.cfg
JbpmConfiguration和SpringConfiguration实现了org.jbpm.api.Configuration,用来从配置文件构造ProcessEngine
org.jbpm.pvm.internal.xml
主要用于解析xml的,主要解析jbpm.cfg.xml和流程定义文件
org.jbpm.pvm.internal.util
包含常用工具
org.jbpm.pvm.internal.wire
用来在ioc里进行依赖绑定。子包包含binding, descriptor, operation和xml,而且默认的绑定方式是使用field,而不是常见的setter绑定方式。
org.jbpm.pvm.internal.type
用来进行类型转换,主要是加载jbpm.cfg.xml对流程引擎进行初始化时,还有就是发布流程的时候进行类型转换。子包包括converter,matcher和variable,类型转换器,类型匹配器和变量。
org.jbpm.pvm.internal.tx
其中负责处理事务,JtaTransaction啦,SpringTransationInterceptor
啦,StandardTransaction啦,这些需要根据实际环境具体选择。jta的实现部分已经单独放到子包jta中了。希望spring中的事务
也能这样处理就好了。
org.jbpm.pvm.internal.test
包下放了一个JobTestHelper,显然是可以帮助在测试环境下运行job的,。
org.jbpm.api.client
这部分包含ClientExecution, ClientProcessDefinition,
ClientProcessInstance。ClientExecution继承了OpenExecution,声明了end(),
signal(), suspend(),
resume()之类的方法。ClientProcessDefintion继承了OpenProcessDefintion,其中的功能主要是
createProcessInstance和startProcessInstance。
org.jbpm.pvm.internal.cmd
包含Command和CommandService,这是命令设计模式的基础。其中放着所有的命令,所有的流程操作都可以在这里找到。
org.jbpm.pvm.internal.email
下面有两个子包impl和spi,只要注意spi下的AddressResolver, MailProducer和MailSession就可以实现自定义的实现了。
org.jbpm.pvm.internal.env
包含Context, Environment, EnvironmentFactory, Transaction,
WireObject。其中Context,
Environment和EnvironmentFactory组成了jBPM4里的IoC系统。Transaction定义了通用事务。
WireObject用来做依赖绑定。下面保存着环境有关的实现类。包括Authentication权限认证,Environment与context
相关的各个类。
org.jbpm.pvm.internal.hibernate
下面的类是专门与hibernate进行交互的类,包含类型转换,命名策略和最主要的DbSessionImpl,所有与数据库的操作都来源于此。
org.jbpm.pvm.internal.history
下面是历史操作所需要的部分,其下还包含events和model包。
org.jbpm.pvm.internal.identity
包主要负责身份认证的操作。包含三个子包cmd, impl和spi,cmd下定义所用到的命令,impl下是实现类,spi下放着IdentitySession。
org.jbpm.pvm.internal.jms
包括JmsMessageSession和JmsMessageUtil,应该是用来处理jms的,JmsMessageSession与 org.jbpm.api.job.Message相关联。说明job下的Message是依靠jms发送异步消息的。
org.jbpm.pvm.internal.job
提供了对job, message和timer的实现
org.jbpm.pvm.internal.jobexecutor
提供了任务执行器,包括JobExecutorServlet和对应的线程池,以及一系列的命令和处理器。无论是job, message或是timer,最终都会被这里执行。
org.jbpm.pvm.internal.lob
主要用来处理流程发布时的文件内容,需要把jpdl.xml文件和图片,甚至是以后可能把class文件都以附件形式保存到数据库中,以备后用
org.jbpm.pvm.internal.model
这个模型包中包含了很多很多类,包括Activity, CompositeElement, Condition,
ObservableElement,
OpenProcessDefinitionTransition。简单分类一下。最底层的是ObservableElement,它是可以被事件监听的
元素,并且可以继承,CompositeElement继承了
ObservableElement,它里面可以装填多个活动。再加上Event中定义了多个事件,这些就构成了最基本的事件模型。Activity和
ActivityCoordinates分别定义了活动类和活动位置。以这些为基础,OpenProcessDefinition继承了
ProcessDefinition和CompositeElement。最终,我们还有一个Condition类,它只有一个evaluate方法,接
受OpenExecution作为参数返回boolean值,Condition和Activity组合成了Transition,这个转移包含了起点,
终点,以及条件判断。最庞大的模型部分,活动,转移,流程定义,流程实例的实现类都放在这里。在它的op子包中包含的是流程进行中的各项操作。
org.jbpm.pvm.internal.query
History, Job, ProcessDefintion, ProcessInstance这四个query类的实现,还提供了一个Page类,但是其中只有firstResult和maxResults,所以没啥大用
org.jbpm.pvm.internal.repository
负责的是流程的发布,主要有Deployment和Repository对应的service, session和cache,这里使用的缓存,所以每次使用流程定义的时候可以利用缓存提高效率。
org.jbpm.pvm.internal.script
包含对脚本的支持,默认支持了JuelScriptEngine。
org.jbpm.pvm.internal.session
支持各种会话,DbSession, MessageSession, RepositorySession和TimerSession。
org.jbpm.pvm.internal.spring
只有一个CommandTransactionCallback用来实现从spring中获得事务,并用其执行jbpm中定义的各种命令
org.jbpm.pvm.internal.stream
用于从各种途径读取资源,无论是jbpm配置文件和流程资源都要通过这些来转换成流的形式,以供给jbpm处理。
org.jbpm.pvm.internal.svc
其中svc或许是service的缩写。这个包中除了包括org.jbpm.api包下定义的所有service接口的实现,还包括commandService的实现和认证拦截器。
org.jbpm.pvm.internal.task
代表了所有与任务,任务参与者相关的信息,包括Assignable, AssignmentHandler, OpenTask,
Participation, Swimlane, Task,
TaskDefinition。简单划分后,主要有任务,任务定义任务处理。剩下的都是与任务分配有关了。TaskDefinition从字面上来看是指
任务定义,里边只有一个getName()。Task中保存了任务相关的一些内容,OpenTask主要用来处理历史事件。参与者部分基本分成三个部分,
以Assignable和AssignmentHandler组成的自定义分配部分,Participation参与者和swimlane泳道。暂时没有
发现三者之间与任务的联系
JBPM4 常用表结构及其说明的更多相关文章
- JBPM4 常用表结构
JBPM4 常用表结构 第一部分:表结构说明 Jbpm4 共有18张表,如下,其中红色的表为经常使用的表 一:资源库与运行时表结构 1. JBPM4_DEPLOYMENT 流程定义表 2. J ...
- JBPM4常用表结构及入门流程
JBPM4 常用表结构 第一部分:表结构说明 Jbpm4 共有18张表,如下,其中红色的表为经常使用的表 一:资源库与运行时表结构 1. JBPM4_DEPLOYMENT 流程定义表 2. J ...
- Oracle EBS BOM模块常用表结构
表名: bom.bom_bill_of_materials 说明: BOM清单父项目 BILL_SEQUENCE_ID NUMBER 清单序号(关键字)ASSEMBLY_ITEM_ID NUMBE ...
- MySQL常用表结构查询语句
在我们使用数据库进行查询或者建表时,经常需要查看表结构,下面以employees数据库中的departments表为例进行表结构查询: departments表:(2列9行) +---------+- ...
- jbpm4.3表结构和表字段说明
整体说明: JBPM4_DEPLOYMENT 流程定义表JBPM4_DEPLOYPROP 流程定义属性表 JBPM4_EXECUTION 流程实例表JBPM4_HIST_ACTINST 流程活动 ...
- oracle erp 表结构
BOM模块常用表结构 表名: bom.bom_bill_of_materials 说明: BOM清单父项目 BILL_SEQUENCE_ID NUMBER 清单序号(关键字)ASSEMBLY_ITEM ...
- 增加删除字段修改字段名,修改表结构,非常用SQL语句技巧总结
1.为数据表添加一个新字段 Alter TABLE [dbo].[CustomerBackupConfig] Add [Stamp] [timestamp] NULL GO 2.为数据表添加两个新字段 ...
- SQL Server--------SQL Server常用(查看注释,新增注释,生成实体,查看表结构信息,case when...)
--新增字段: ALTER TABLE line_info ADD line_remark NVARCHAR(MAX) DEFAULT '' EXECUTE sp_addextendedproper ...
- Mysql常用表操作 | 单表查询
160905 常用表操作 1. mysql -u root -p 回车 输入密码 2. 显示数据库列表 show databases 3. 进入某数据库 use database data ...
随机推荐
- 【转】Android 最火的快速开发框架XUtils
原文:http://blog.csdn.net/rain_butterfly/article/details/37812371 最近搜了一些框架供初学者学习,比较了一下XUtils是目前git上比较活 ...
- java实现window phone推送通知
package com.windowphone.text; import java.io.IOException;import java.io.OutputStream;import java.net ...
- [RxJS] Drag and Drop example
Improving our mouse drag event Our mouse drag event is a little too simple. Notice that when we drag ...
- Linux 内核进程管理之进程ID 。图解
http://www.cnblogs.com/hazir/tag/kernel/ Linux 内核进程管理之进程ID Linux 内核使用 task_struct 数据结构来关联所有与进程有关的数 ...
- careercup-递归和动态规划 9.3
9.3 在数组A[0...n-1]中,有所谓的魔术索引,满足条件A[i]=i.给定一个有序整数数组,元素值给不相同,编写一个方法,在数组A中找出一个魔术索引,若存在的话. 进阶: 如果数组元素有重复值 ...
- *.pro、*.pri、*.prf、*.prl等四种文件
尽管每次和cmake对比起来,我们总是说 qmake 简单.功能少.但是qmake仍然是一个非常复杂的东西,我想大多人应该和我一样吧: 不是太清楚CONFIG等变量到底如何起作用的 用过的qmak ...
- MVC - 基础
什么是MVC模式 传统的WebForm发展到如今出现不少的缺陷 比如为了解决Http的无状态 WebForm模式使用了ViewState来保存客户端和服务端数据 过量的使用则会造成页面臃肿不堪 大量服 ...
- MySQL【第一篇】安装
一.简介 MySQL 是最流行的关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言.MySQL由于其体积小. ...
- XCode模拟器屏幕显示内容非常慢
今天遇到了一个问题,就是XCode模拟器屏幕显示的非常慢,但是点击一下模拟器,内容就会马上显示出来,最后查找出问题是自己不注意把刷新UI界面的代码放到了异步线程中去执行了,刷新UI界面的代码放到主线程 ...
- YII中表单验证
关于表单的验证有三种: 1.yii的客户端验证 2.yii的服务器端验证 3.yii的ajax验证 例如: 1.在表单对应的模型中定义一个rules方法(该方添加后,在表单提交时,将自动被调用) pu ...