`
yuanyao
  • 浏览: 149038 次
  • 性别: Icon_minigender_1
  • 来自: 就那小山沟
社区版块
存档分类
最新评论

JBPM数据库表解析与实例

    博客分类:
  • Jbpm
阅读更多
1.jbpm_action表

字段     含义
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           异常处理类索引



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

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



4.jbpm_ node表
字段 含义
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时使用       `



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



6.jbom_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,外键

 
看一个例子:
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>


分享到:
评论
3 楼 yuanyao 2009-03-06  
xujie2009 写道
<action name="action" class="com.sample.action.Test1Action">
            <message>Going to the first state!</message>
</action>
其中的message好像没定义过吧?~~是吧~~?

恩,没有定义.....没涉及到message,就没写.........
2 楼 xujie2009 2009-03-06  
<action name="action" class="com.sample.action.Test1Action">
            <message>Going to the first state!</message>
</action>
其中的message好像没定义过吧?~~是吧~~?
1 楼 rmn190 2009-02-26  
谢谢楼主的努力, 我也在看这方面的材料.

相关推荐

    JBPM数据库表说明.

    接下来,我们将深入探讨JBPM数据库中的关键表及其作用。 1. **TaskInstance表**:这个表存储了所有任务实例的信息,包括任务ID、任务名称、创建时间、结束时间以及与流程实例的关联关系。任务实例可以分配给特定的...

    jbpm数据库表结构详解

    以下是对jbpm数据库表结构的详细解析: 1. **JBPM4_DEPLOYMENT**:这是流程定义表,记录了部署到jbpm中的所有流程定义。DBID字段作为主键标识每个流程模版,NAME_CLOB字段存储流程模版的名称,TIMESTAMP字段记录...

    JBPM数据库表说明

    **JBPM数据库表说明** JBPM(Java Business Process Management)是一个开源的工作流管理系统,它用于设计、执行和管理业务流程。在JBPM中,数据库扮演着至关重要的角色,存储了流程定义、执行实例、任务信息等多种...

    jbpm数据库表说明

    **jbpm数据库表说明** jbpm(Java Business Process Management)是一个开源的工作流管理系统,它用于设计、执行和管理业务流程。在jbpm中,数据库扮演着至关重要的角色,存储了流程实例、任务、变量等核心信息。...

    jbpm 数据库jbpm 数据库

    jbpm数据库记录了这些状态变化,使得可以跟踪和分析流程执行的过程。 6. **持久化与事务管理** jbpm使用JPA(Java Persistence API)来实现数据库的持久化操作,确保在流程执行过程中数据的一致性和完整性。同时,...

    jbpm数据库表字段详解

    JBPM_PROCESSDEFINITION表是jbpm数据库的核心表之一,它存储了流程定义的信息。该表的字段包括: * ID_:流程定义的唯一标识 * NAME_:流程定义的名称 * VERSION_:流程定义的版本号 * ISTERMINATIONIMPLICIT_:...

    JBPM数据库表关系

    了解JBPM数据库表的关系对于有效使用和维护JBPM系统至关重要。以下将详细阐述这些表及其相互关系。 1. **流程配置类数据库表**: - **JBPM_ACTION**: 存储流程中的动作信息,如任务分配、通知等。 - **JBPM_...

    jbpm数据库文档及表之间的关联

    本文将详细介绍jbpm数据库中的主要表及其相互关系,以便理解jbpm如何存储和管理流程信息。 **1. JBPM_PROCESSDEFINITION** 这是流程模板表,存储了jbpm流程的定义信息。表中的外键与其他表关联,如: - `FK_PROCST_...

    JBPM数据库表3.3.1.doc

    本文将详细解析JBPM数据库表结构,主要关注与流程配置相关的三张核心表格:JBPM_PROCESSDEFINITION、JBPM_NODE、以及JBPM_TRANSITION。 **1. JBPM_PROCESSDEFINITION 表** JBPM_PROCESSDEFINITION是存储流程模板...

    jbpm数据库数据,导入即可使用

    jbpm数据库数据是jbpm系统运行过程中产生的各种数据,包括流程定义、任务实例、变量、事件等,这些数据对于系统的正常运行至关重要。 在jbpm中,流程定义(Process Definition)是描述业务流程的蓝图,它定义了流程...

    jbpm数据结构及其数据库表的详细字段

    本文将深入解析JBPM的数据结构,特别是涉及到的数据库表及其详细字段,以及JBPM如何生成ID。 1. **JBPM_PROCESSDEFINITION** 表: - ID_:此字段是流程模版的唯一标识,用于区分不同的流程定义。 - NAME_:存储...

    JBPM数据库表说明[参照].pdf

    以下是一些关键的JBPM数据库表及其相关知识点: 1. **JBPM_PROCESSDEFINITION**: 这个表存储流程定义的信息,包括流程模版ID、名称和版本。每当有新的流程版本发布时,版本号会递增。字段`ISTERMINATIONIMPLICIT`...

    用MYSQL做JBPM数据库

    本篇文章将深入探讨如何使用MySQL作为JBPM的数据库,并解析相关的配置与操作步骤。 一、MySQL环境准备 在使用MySQL作为JBPM数据库之前,首先需要确保已经安装并配置好MySQL服务器。这包括安装MySQL Server,创建...

    一个Jbpm员工请假流程的实例(源代码)

    Jbpm,全称是Java Business Process Management,是一款开源的工作流管理系统,用于设计、执行和管理业务流程。...开发者可以通过分析和运行这个实例,深入理解Jbpm的工作原理以及如何将其应用于实际业务场景。

    ERStudio逆向工程从sql server 2000中导出jbpm数据库的idef1x图

    jbpm的数据库通常包含与流程实例、任务、变量等相关的表,这些表需要通过数据库建模工具进行理解和分析。 接下来,我们需要知道如何使用ERStudio进行逆向工程。首先,需要安装并运行ERStudio,然后配置连接到SQL ...

    JBPM数据库分析文档[收集].pdf

    本文将深入解析JBPM数据库分析文档中涉及的主要数据库表,这些表是JBPM系统运行的基础,用于存储流程定义、节点、迁移、动作和事件等信息。 1. **JBPM_PROCESSDEFINITION**: - **ID_**: 此字段作为流程模版的唯一...

Global site tag (gtag.js) - Google Analytics