JBPM数据库表解析与实例

[color=red]1.jbpm_action表[/color]

字段 含义
ID_ 标识 主键
class 流程动作分类
A(动作): org.jbpm.graph.def.Action
B(脚本):org.jbpm.graph.action.Script
C(创建定时器): org.jbpm.scheduler.def.CreateTimerAction
I(取消定时器): org.jbpm.scheduler.def.CancelTimerAction
NAME_ 流程动作名称
ISPROPAGATIONALLOWED_ boolean类型通常值为true
ACTIONEXPRESSION_ 动作类行为I时,表示动作执行的脚本
ISASYNC_ 该动作是否支持异步机制
REFERENCEDACTION_ 动作中引用的动作,对应JBPM_ACTION
ACTIONDELEGATION_ 动作类型为A时使用,表示动作执行的代理类,对JBPM_DELEFGATION
EVENT_ 动作中指定的事件,对应JBPM_EVENT
PROCESSDEFINITION_ 动作在流程模板id
TIMERNAME_ 定时器名称
DUEDATE_ 定时器间隔时间
REPEAT_ 定时器动作执行次数
TRANSITIONNAME 动作指定后的transition的name
TIMERACTION 定时器动作代理类,对应JBPM_ACTION
EXPRESSION_ 定时器执行表达式
EVENTINDEX_ 事件索引
EXCEPTIONHANDLER_ 异常处理类,对应JBPM_EXCEPTIONHANDLER
EXCEPTIONHANDLERINDEX 异常处理类索引


[color=red]2.jbpm_processdefinition表[/color]
字段 含义
ID_ 标识 主键
CLASS_
NAME_ 流程定义的名字
DESCRIPTION_ 流程定义表述
VERSION_ 流程的版本
ISTERMINATIONIMPLICIT_ 是否支持强制终止流程
STARTSTATE_ 起始节点ID,在JBPM_NODE表中

[color=red]3.jbpm_transition表[/color]
字段 含义
ID_ 流程迁移标识 主键
NAME_ 流程迁移的名字
DESCRIPTION_ 流程迁移描述
PROCESSDEFINITION_ 流程定义的ID_ 外键
FROM_ 迁移的来源,与node节点的id对应
TO_ 迁移的目的,与node节点的id对应
CONDITION_ 还不了解
FROMINDEX_ 还不了解


[color=red]4.jbpm_ node表[/color]
字段 含义
ID_ 节点的标识 主键
CLASS_ 节点类型:
C: org.jbpm.graph.node.ProcessState
D: org.jbpm.graph.node.Decision
E: org.jbpm.graph.node.EndState
F: org.jbpm.graph.node.Fork
J: org.jbpm.graph.node.Join
K: org.jbpm.graph.node.TaskNode
N: org.jbpm.graph.def.Node
R: org.jbpm.graph.node.StartState
S: org.jbpm.graph.node.State
U: org.jbpm.graph.def.SuperState
NAME_ 节点名字
DESCRIPTION_ 节点描述
PROCESSDEFINITION_ 节点所在流程定义的ID 外键
ISASYNC_ 节点是否支持异步机制
ISAYYNCEXCL_ ???
ACTION_ 节点上的动作,对应与JBPM_ACTION表
SUPERSTATE_ 节点对应的superState的id,表明该节点属于某个SuperState
SUBPROCNAME_ 节点类型为ProcessState时使用,代表子流程定义的Name
SUBPROCESSDEFINITION_ 节点类型为ProcessState时使用,代表子流程定义的ID外键
DECISIONEXPRESSION_ 节点类型为Decision时使用,该属性表示Decision中使用的判断表达式
DECISIONDELEGATION 节点类型为Decision时使用,表明Decision对应的代理类,对应JBPM_DELEGATION
SCRIPT_ 脚本
SIGNAL_ 节点类型为Task
CREATETASKS_ 节点类型为Task
ENDTASKS_ 节点类型为Task
NODECOLLECTIONINDEX_ 节点类型为SuperState时使用 `


[color=red]5.jbpm_delegation表:[/color]
字段 含义
ID_ 流程代理标识
CLASSNAME_ 流程代理类名称
CONFIGURATION_ 流程代理类配置信息
CONFIGTYPE_ 流程代理类配置类型
PROCESSDEFINITION_ 流程代理类所属流程定义,对应JBPM_PROCESSDEFINITION 外键


[color=red]6.jbom_event表:[/color]
字段 含义
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,外键


看一个例子:
Processdefinition.xml

<?xml version="1.0" encoding="UTF-8"?>

<process-definition
xmlns="urn:jbpm.org:jpdl-3.2"
name="simple">
<start-state name="start">
<transition name="to_state" to="first">
<action name="action" class="com.sample.action.Test1Action">
<message>Going to the first state!</message>
</action>
</transition>
</start-state>
<state name="first">
<transition name="to_end" to="end">
<action name="action" class="com.sample.action.Test2Action">
<message>About to finish!</message>
</action>
</transition>
</state>
<end-state name="end"></end-state>
</process-definition>


Test1Action.java
public class Test1Action implements ActionHandler{

private static final long serialVersionUID = 1L;

public void execute(ExecutionContext executionContext) throws Exception {
System.out.println("你好,我是Test1Action动作!");
}

}


Test2Action.java
public class Test2Action implements ActionHandler{

private static final long serialVersionUID = 1L;

public void execute(ExecutionContext executionContext) throws Exception {
System.out.println("你好,我是Test2Action动作!");
}

}


SimpleProcessTest.java
public class SimpleProcessTest extends TestCase {

public void testCreateSchema() {
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
jbpmConfiguration.createSchema();
System.out.println("the database is created successfully!");
}

public void testDeployProcessDefinition() {
JbpmConfiguration jbpmConfiguration = JbpmConfiguration.getInstance();
JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();
try {
ProcessDefinition pdf = ProcessDefinition
.parseXmlResource("simple/processdefinition.xml");
jbpmContext.deployProcessDefinition(pdf);
} finally {
if (jbpmContext != null)
jbpmContext.close();
}
System.out.println("the deploy is successful!");
}
}

我用的是mysql数据库,Hibernate配置

<!-- hibernate dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

<!-- JDBC connection properties (begin) -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///jbpm</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">****</property>
<!-- JDBC connection properties (end) -->

<property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 ACTIVITI数据库结构 2 1.1 数据库名说明 2 1.2 数据库结构 3 1.2.1 Activiti数据清单: 3 1.2.2 名:ACT_GE_BYTEARRAY (通用的流程定义和流程资源) 3 1.2.3 名:ACT_GE_PROPERTY (系统相关属性) 4 1.2.4 名:ACT_HI_ACTINST (历史节点) 5 1.2.5 名:ACT_HI_ATTACHMENT (附件信息) 6 1.2.6 名:ACT_HI_COMMENT (历史审批意见) 6 1.2.7 名:ACT_HI_DETAIL (历史详细信息) 7 1.2.8 名:ACT_HI_IDENTITYLINK (历史流程人员) 8 1.2.9 名:ACT_HI_PROCINST(历史流程实例信息)核心 8 1.2.10 名:ACT_HI_TASKINST(历史任务流程实例信息)核心 9 1.2.11 名:ACT_HI_VARINST(历史变量信息) 9 1.2.12 名:ACT_ID_GROUP(用户组) 10 1.2.13 名:ACT_ID_INFO (用户扩展信息) 10 1.2.14 名:ACT_ID_MEMBERSHIP(用户用户组关联) 11 1.2.15 名:ACT_ID_USER(用户信息) 11 1.2.16 名:ACT_RE_DEPLOYMENT(部署信息) 12 1.2.17 名:ACT_RE_MODEL (流程设计模型部署) 12 1.2.18 名:ACT_RE_PROCDEF (流程定义) 13 1.2.19 名:ACT_RU_EVENT_SUBSCR (运行时事件) 14 1.2.20 名:ACT_RU_EXECUTION (运行时流程执行实例) 14 1.2.21 名:ACT_RU_IDENTITYLINK(身份联系) 15 1.2.22 名:ACT_RU_JOB(运行中的任务) 15 1.2.23 名:ACT_RU_TASK(运行时任务数据) 16 1.2.24 名:ACT_RU_VARIABLE(运行时流程变量数据) 17 2 ACTIVITI中主要对象的关系 17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值