最近这几天一直在研究JBPM工作流引擎,以下为JBMP的数据库说明,貌似不是最新的4.4版本的,不过有胜于无,用来学习JBPM足矣。因为内容太多,分成两篇发。
1 流程配置类数据库表:
1.1 JBPM_PROCESSDEFINITION:流程模版表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程模版标识 | √ | × |
| NAME_ | 流程模版名称 | × | × |
| VERSION_ | 流程模版版本,对于同一流程模版,多次插入数据库时,数据库中有多条记录,每条记录中的版本号一次增加 | × | × |
| ISTERMINATIONIMPLICIT_ | 是否支持强行终止流程(目前理解) | × | × |
| STARTSTATE_ | 起始节点ID,在JBPM_NODE表中 | × | √ |
1.2 JBPM_NODE:流程节点表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程节点标识 | √ | |
| CLASS_ | 节点类型:C: org.jbpm.graph.node.ProcessStateD: org.jbpm.graph.node.DecisionE: org.jbpm.graph.node.EndStateF: org.jbpm.graph.node.ForkJ: org.jbpm.graph.node.JoinK: org.jbpm.graph.node.TaskNodeN: org.jbpm.graph.def.NodeR: org.jbpm.graph.node.StartStateS: org.jbpm.graph.node.StateU: org.jbpm.graph.def.SuperState | | |
| NAME_ | 流程节点名称 | | |
| SUBPROCESSDEFINITION_ | 节点类型为ProcessState时使用,代表子流程模版id | | √ |
| ISASYNC_ | 节点是否支持异步机制 | | |
| ACTION_ | 节点中指定的action,对应JBPM_ACTION表 | | √ |
| SUPERSTATE_ | 节点对应的SuperState的id,表明该节点属于某个SuperState | | √ |
| PROCESSDEFINITION_ | 节点所在的流程模版id | | √ |
| DECISIONDELEGATION | 节点类型为Decision时使用,表明Decision对应的代理类,对应JBPM_DELEGATION表 | | √ |
| DECISIONEXPRESSION_ | 节点类型为Decision时使用,该属性表示Decision中使用的判断表达式 | | |
| SIGNAL_ | 节点类型为Task | | |
| CREATETASKS_ | 节点类型为Task | | |
| ENDTASKS_ | 节点类型为Task | | |
| NODECOLLECTIONINDEX_ | 节点类型为SuperState时使用, | | |
1.3 JBPM_TRANSITION:流程迁移表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程迁移标识 | √ | |
| NAME_ | 流程迁移名称 | | |
| PROCESSDEFINITION_ | 迁移所在的流程模版id | | √ |
| FROM_ | 迁移来源,对应Node的id | | √ |
| TO_ | 迁移目的,对应Node的id | | √ |
| FROMINDEX_ | ? | | |
1.4 JBPM_ACTION:流程动作表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程动作标识 | √ | |
| NAME_ | 流程动作名称 | | √ |
| CLASS_ | 流程动作分类:A(动作): org.jbpm.graph.def.ActionS(脚本): org.jbpm.graph.action.ScriptC(创建定时器):org.jbpm.scheduler.def.CreateTimerAction I(取消定时器):org.jbpm.scheduler.def.CancelTimerAction | | |
| ISPROPAGATIONALLOWED_ | ? | | |
| ACTIONEXPRESSION_ | 动作类行为I时使用,表示动作执行的脚本 | | |
| ISASYNC_ | 动作是否支持异步机制 | | |
| REFERENCEDACTION_ | 动作中引用的动作,对应JBPM_ACTION | | √ |
| ACTIONDELEGATION_ | 动作类型为A时使用,表示动作执行的代理类,对应JBPM_DELEGATION | | √ |
| EVENT_ | 动作中指定的事件,对应JBPM_EVENT | | |
| PROCESSDEFINITION_ | 动作所在的流程模版id | | √ |
| TIMERNAME_ | 定时器名称 | | |
| DUEDATE_ | 定时器间隔时间 | | |
| REPEAT_ | 定时器动作执行次数 | | |
| TRANSITIONNAME_ | 动作指定后指向的Transition | | |
| TIMERACTION_ | 定时器动作代理类,对应JBPM_ACTION | | |
| EXPRESSION_ | 定时器执行表达式 | | |
| EVENTINDEX_ | ? | | |
| EXCEPTIONHANDLER_ | 异常处理类,对应JBPM_EXCEPTIONHANDLER | | |
| EXCEPTIONHANDLERINDEX_ | ? | | |
1.5 JBPM_EVENT:流程事件表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程事件标识 | √ | |
| EVENTTYPE_ | 流程事件类型名称 | | |
| TYPE_ | 流程事件所在的图形节点类型"A" :Task"C" :ProcessState"D" :Decision""E" :EndState""F" :Fork""J" :Join""K" :TaskNode""N" :Node""P" :ProcessDefinition""R" :StartState""S" :State""T" :Transition""U" :SuperState" | | |
| GRAPHELEMENT_ | 流程事件所在的图形节点的ID | | |
| PROCESSDEFINITION_ | 流程事件所属流程定义,对应JBPM_PROCESSDEFINITION | | √ |
| NODE_ | 流程事件所属节点,对应JBPM_NODE | | √ |
| TRANSITION_ | 流程事件所属迁移,对应JBPM_ TRANSITION | | √ |
| TASK_ | 流程事件所属任务,对应JBPM_TASK | | √ |
1.6 JBPM_DELEGATION:流程代理类表(用于实例化jbpm中的action类)
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程代理标识 | √ | |
| CLASSNAME_ | 流程代理类名称 | | |
| CONFIGURATION_ | 流程代理类配置信息 | | |
| CONFIGTYPE_ | 流程代理类配置类型 | | |
| PROCESSDEFINITION_ | 流程代理类所属流程定义,对应JBPM_PROCESSDEFINITION | | √ |
1.7 JBPM_TASK:流程任务表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程任务标识 | √ | |
| NAME_ | 流程任务名称 | | |
| PROCESSDEFINITION_ | 流程任务所属流程定义,对应JBPM_PROCESSDEFINITION | | √ |
| DESCRIPTION_ | 流程任务描述 | | |
| ISBLOCKING_ | 任务是否为阻塞(任务不完成、流程不能继续) | | |
| ISSIGNALING_ | 任务是否可以驱动TOKEN | | |
| DUEDATE | 任务持续时间,表明任务应在多长时间内完成 | | |
| ACTORIDEXPRESSION | ? | | |
| POOLEDACTORSEXPRESSION | ? | | |
| TASKMGMTDEFINITION_ | 任务所属的任务管理模块ID,对应JBPM_MODULEDEFIFNITION | | √ |
| TASKNODE_ | 任务所属的TASK_NODE,对应JBPM_NODE | | √ |
| STARTSTATE | 任务所属的START_NODE,对应JBPM_NODE | | √ |
| ASSIGNMENTDELEGATION | ? | | √ |
| SWIMLANE | 执行该任务的泳道(角色) | | √ |
| TASKCONTROLLER_ | ? | | |
1.8 JBPM_TASKCONTROLLER:流程任务控制器
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程任务控制器标识 | √ | |
| TASKCONTROLLERDELEGATION_ | 流程任务控制器对应的代理,对应JBPM_DELEGATION | | √ |
1.9 JBPM_VARIABLEACCESS:流程变量表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程变量标识 | √ | |
| VARIABLENAME_ | 流程变量名称 | | |
| ACCESS_ | 流程变量存取方式 | | |
| MAPPEDNAME | ?(暂时不使用) | | |
| PROCESSSTATE | 流程变量所属的流程节点,对应JBPM_NODE | | √ |
| TASKCONTROLLER | 流程变量所属的流程任务控制器,对应JBPM_ TASKCONTROLLER | | √ |
| INDEX_ | ? | | |
| SCRIPT | 流程变量所属的ACTION,对应JBPM_ ACTION | | √ |
1.10 JBPM_MODULEDEFINITION:流程模块定义表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程模块标识 | √ | |
| CLASS_ | 流程模块类型:M : org.jbpm.module.def.ModuleDefinitionC : org.jbpm.context.def.ContextDefinitionF : org.jbpm.file.def.FileDefinitionL: org.jbpm.logging.def.LoggingDefinitionI: org.jbpm.scheduler.def.SchedulerDefinitionT: org.jbpm.taskmgmt.def.TaskMgmtDefinition | | |
| NAME_ | 流程模块名称 | | |
| PROCESSDEFINITION_ | 流程模块所属流程定义,对应JBPM_PROCESSDEFINITION | | √ |
| STARTTASK | 类型为T时使用,对应JBPM_TASK | | √ |
1.11JBPM_EXCEPTIONHANDLER:流程异常处理器表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 流程异常处理器标识 | √ | |
| EXCEPTIONHANDLERNAME_ | 流程异常处理器名称 | | |
| TYPE_ | 流程异常处理器所在的图形节点类型"A" :Task"C" :ProcessState"D" :Decision""E" :EndState""F" :Fork""J" :Join""K" :TaskNode""N" :Node""P" :ProcessDefinition""R" :StartState""S" :State""T" :Transition""U" :SuperState" | | |
| GRAPHELEMENT_ | 流程异常处理器所在的图形节点的ID | | |
| PROCESSDEFINITION_ | 流程异常处理器所属流程定义,对应JBPM_PROCESSDEFINITION | | √ |
| NODE_ | 流程异常处理器所属节点,对应JBPM_NODE | | √ |
| TRANSITION_ | 流程异常处理器所属迁移,对应JBPM_ TRANSITION | | √ |
| TASK_ | 流程异常处理器所属任务,对应JBPM_TASK | | √ |
| GRAPHELEMENTINDEX_ | 流程异常处理器中包含的ACTION集合的索引(?) | | |
1.12 JBPM_DECISIONCONDITION:DECISION节点判断条件表
| 字段名 | 字段含义 | 主键 | 外键 |
| INDEX_ | 标识 | √ | |
| DECISION_ | 所属的DECISION,对应JBPM_NODE | √ | |
| TRANSITIONNAME_ | DECISION节点的“离开节点名???” | | |
| EXPRESSION | 每一个“离开节点名称”对应的条件表达式 | | |
1.13 JBPM_ SWINLANE:DECISION节点判断条件表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 标识 | √ | |
| NAME_ | 泳道名称 | √ | |
| TRANSITIONNAME_ | DECISION节点的“离开节点名称” | | |
| EXPRESSION | 每一个“离开节点名称”对应的条件表达式 | | |
2 流程运行类数据库表:
2.1 JBPM_PROCESSINSTANCE:流程实例表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 标识 | √ | |
| VERSION_ | 版本 | | |
| START_ | 流程实例开始时间 | | |
| END_ | 流程实例结束时间 | | |
| ISSUSPENDED | 流程实例是否暂停 | | |
| PROCESSDEFINITION_ | 流程实例所属的流程模版,对应JBPM_PROCESSDEFINITION | | √ |
| ROOTTOKEN_ | 流程实例对应的TOKEN,对应JBPM_TOKEN | | √ |
| SUPERPROCESSTOKEN_ | 父流程的当前TOKEN的ID,当流程实例为子流程实例时使用,表明由父流程进入子流程时,父流程的当前TOKEN。对应JBPM_TOKEN | | √ |
2.2 JBPM_TOKEN:流程TOKEN表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 标识 | √ | |
| VERSION_ | 版本 | | |
| START_ | TOKEN开始时间 | | |
| END_ | TOKEN结束时间 | | |
| NODEENTER_ | TOKEN进入当前节点(TOKEN当前所处的节点)的时间 | | |
| NEXTLOGINDEX_ | ? | | |
| ISABLETOREACTIVATEPARENT_ | 能否重新激活父TOKEN标志 | | |
| ISTERMINATIONIMPLICIT_ | 能够强制终止TOKEN标志 | | |
| ISSUSPENDED_ | TOKEN是否处于暂停状态 | | |
| NODE_ | TOKEN所在的当前节点,对应JBPM_NODE | | √ |
| PROCESSINSTANCE_ | TOKEN所属的流程实例,对应JBPM_PROCESSINSTANCE | | √ |
| PARENT_ | TOKEN的父TOKEN,当TOKEN是由fock产生或处于子流程中时使用,对应JBPM_TOKEN | | √ |
2.3 JBPM_LOG:流程日志表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 标识 | √ | |
| CLASS_ | 日志类型:A: ActionLogB: ByteArrayUpdateLogC: CompositeLogD: VariableDeleteLog E: DateUpdateLogF: HibernateStringUpdateLogG: LongUpdateLogH: HibernateLongUpdateLogI: ProcessInstanceCreateLogL: DoubleUpdateLogM: MessageLogN: NodeLogO: TokenCreateLogP: ProcessLogR: VariableCreateLog S: SignalLogT: TransitionLogU: StringUpdateLogV: VariableLogW: VariableUpdateLog X: ProcessInstanceEndLogY: TokenEndLog0: TaskLog1: TaskCreateLog2: TaskAssignLog3: TaskEndLog4: SwimlaneLog5: SwimlaneCreateLog6: SwimlaneAssignLog | | |
| INDEX_ | ? | | |
| DATE_ | 日志产生时间 | | |
| TOKEN _ | 日志所属TOKEN | | |
| PARENT_ | 日志的父日志,对应JBPM_LOG | | |
| CHILD_ | 创建的子TOKEN,对应TokenCreateLog结束的子TOKEN,对应TokenEndLog | | |
| MESSAGE_ | 消息信息,当日志类型为M(MessageLog)时使用 | | |
| EXCEPTION_ | 日志异常信息,对应ActionLog | | |
| ACTION_ | 日志所属ACTION,当日志类型为A(ActionLog)时使用 | | |
| NODE_ | 日志所属NODE,当日志类型为N(NodeLog)时使用 | | |
| ENTER_ | 进入节点时间,对应NodeLog | | |
| LEAVE_ | 离开节点时间,对应NodeLog | | |
| DURATION_ | 节点停留时间,对应NodeLog | | |
| TRANSITION_ | 日志所属TRANSITION | | |
| SOURCENODE_ | TRANSITION的起点,对应TransitionLog | | |
| DESTINATIONNODE_ | TRANSITION的终点,对应TransitionLog | | |
| VARIABLEINSTANCE_ | 日志所属的流程变量实例,对应VariableLog | | |
| OLDBYTEARRAY_ | 原BYTEARRAY值,对应ByteArrayUpdateLog | | |
| NEWBYTEARRAY | 新BYTEARRAY值,对应ByteArrayUpdateLog | | |
| OLDDATEVALUE | 原DATE值,对应DateUpdateLog | | |
| NEWDATEVALUE | 新DATE值,对应DateUpdateLog | | |
| OLDDOUBLEVALUE_ | 原DOUBLE值,对应DoubleUpdateLog | | |
| NEWDOUBLEVALUE_ | 新DOUBLE值,对应DoubleUpdateLog | | |
| OLDLONGIDCLASS_ | 原LONGIDCLASS值,对应HibernateLongUpdateLog | | |
| NEWLONGIDCLASS_ | 新LONGIDCLASS值,对应HibernateLongUpdateLog | | |
| OLDLONGIDVALUE_ | 原LONGID值,对应HibernateLongUpdateLog | | |
| NEWLONGIDVALUE_ | 新LONGID值,对应HibernateLongUpdateLog | | |
| OLDSTRINGIDCLASS_ | 原STRINGIDCLASS值,对应HibernateStringUpdateLog | | |
| OLDSTRINGIDVALUE_ | 原STRINGID值,对应HibernateStringUpdateLog | | |
| NEWSTRINGIDCLASS_ | 新STRINGIDCLASS值,对应HibernateStringUpdateLog | | |
| NEWSTRINGIDVALUE_ | 新STRINGID值,对应HibernateStringUpdateLog | | |
| OLDLONGVALUE_ | 原LONG值,对应LongUpdateLog | | |
| NEWLONGVALUE_ | 新LONG值,对应LongUpdateLog | | |
| OLDSTRINGVALUE_ | 原STRING值,对应StringUpdateLog | | |
| NEWSTRINGVALUE_ | 新STRING值,对应StringUpdateLog | | |
| TASKINSTANCE_ | 日志所属的TASKINSTANCE,对应TaskLogTaskCreateLogTaskAssignLogTaskEndLog | | |
| TASKACTORID_ | 任务的新ACTORID,对应TaskAssignLogTaskCreateLogSwimlaneCreateLogSwimlaneAssignLog | | |
| TASKOLDACTORID_ | 任务的原ACTORID,对应TaskAssignLogSwimlaneAssignLog | | |
| SWIMLANEINSTANCE_ | 日志所属的SWIMLANEINSTANC,对应SwimlaneLogSwimlaneCreateLogSwimlaneAssignLog | | |
2.4 JBPM_RUNTIMEACTION:流程实时ACTION表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 标识 | √ | |
| VERSION_ | 版本 | | |
| EVENTTYPE_ | 实时ACTION所处的事件类型名称 | | |
| TYPE_ | 实时ACTION所在的图形节点类型"A" :Task"C" :ProcessState"D" :Decision""E" :EndState""F" :Fork""J" :Join""K" :TaskNode""N" :Node""P" :ProcessDefinition""R" :StartState""S" :State""T" :Transition""U" :SuperState" | | |
| GRAPHELEMENT_ | 实时ACTION所在的图形节点的ID | | |
| PROCESSINSTANCE_ | 实时ACTION所在的流程实例,对应JBPM_PROCESSINSTANCE | | |
| ACTION_ | 实时ACTION对应的ACTION,对应JBPM_ACTION | | |
| PROCESSINSTANCEINDEX_ | ? | | |
2.5 JBPM_VARIABLEINSTANCE:流程变量实例表
| 字段名 | 字段含义 | 主键 | 外键 |
| ID_ | 标识 | | |
| CLASS_ | 变量类型:V : org.jbpm.context.exe.VariableInstanceB : org.jbpm.context.exe.variableinstance.ByteArrayInstanceD : org.jbpm.context.exe.variableinstance.DateInstanceO : org.jbpm.context.exe.variableinstance.DoubleInstanceH : org.jbpm.context.exe.variableinstance.HibernateLongInstanceI : org.jbpm.context.exe.variableinstance.HibernateStringInstanceL : org.jbpm.context.exe.variableinstance.LongInstanceS : org.jbpm.context.exe.variableinstance.StringInstanceN : org.jbpm.context.exe.variableinstance.NullInstance | | |
| NAME_ | 变量名称 | | |
| TYPE_ | ? | | |
| CONVERTER_ | 数值转换器 | | |
| TOKEN_ | 变量所在的TOKEN,对应JBPM_TOKEN | | √ |
| TOKENVARIABLEMAP_ | 该变量所属的TOKEN的变量映射,对应JBPM_TOKENVARIABLEMAP | | √ |
| PROCESSINSTANCEINDEX_ | ? | | |
| PROCESSINSTANCE_ | 变量所在的流程实例,对应JBPM_PROCESSINSTANCE | | √ |
| BYTEARRAYVALUE_ | 当流程变量是ByteArray类型时,变量的值,对应JBPM_BYTEARRAY | | |
| DATEVALUE_ | 当流程变量是DATE类型时,变量的值 | | |
| DOUBLEVALUE_ | 当流程变量是DOUBLE类型时,变量的值 | | |
| LONGIDCLASS_ | 当流程变量是了HibernateLongInstance类型时,变量的类型 | | |
| LONGVALUE_ | 当流程变量是了HibernateLongInstance/Long类型时,变量的值 | | |
| STRINGIDCLASS_ | 当流程变量是了HibernateStringInstance类型时,变量的类型 | | |
| STRINGVALUE_ | 当流程变量是了HibernateStringInstance/String类型时,变量的值 | | |
| TASKINSTANCE_ | 变量所在的任务实例,对应JBPM_TASKINSTANCE | | |
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139344.htm