`
Chris_Lu
  • 浏览: 47875 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jBPM开发入门指南(3) 续

阅读更多

 


上接  :  jBPM开发入门指南(3)

6.5  部署processdefinition.xml

       我们要把 processdefinition.xml 的流程定义的数据部署到数据库中,因为 jBPM 在正式运行的时候不是去读 processdefinition.xml 文件,而是去读数据库中的流程定义。 这里写了一个个 JUnit 程序来部署 processdefinition.xml ,当然你用普通的 Java Main 也可以。

package com.sample;

 

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.InputStream;

 

import junit.framework.TestCase;

 

import org.jbpm.JbpmConfiguration;

import org.jbpm.JbpmContext;

import org.jbpm.graph.def.ProcessDefinition;

 

/**

  * 部署 processdefinition.xml

  *

  * @author chengang

  *

  */

public class DeployProcessTest extends TestCase {

    /**

      * 在本方法执行完毕后,检查 jbpm_processdefinition 表会多了一条记录

      *

      * @throws FileNotFoundException

      */

    public void testDeployProcessDefinition() throws FileNotFoundException {

        // jbpm.cfg.xml 取得 jbpm 的配置

        JbpmConfiguration config = JbpmConfiguration.getInstance ();

        // 创建一个 jbpm 容器

        JbpmContext jbpmContext = config.createJbpmContext();

        // processdefinition.xml 生成相对应的流程定义类 ProcessDefinition

        InputStream is = new FileInputStream("processes/simple/processdefinition.xml" );

        ProcessDefinition processDefinition = ProcessDefinition.parseXmlInputStream (is);

        // 利用容器的方法将流程定义数据部署到数据库上

        jbpmContext .deployProcessDefinition(processDefinition);

        // 关闭 jbpmContext

        jbpmContext .close();

    }

 

}

 

运行此程序,在控制台打印了一些日志,通过。如果出错,仔佃阅读出错信息以判断错误原因,并确定你按照前面两节:“修改 hibernate.cfg.xml ”和“完善库引用”的内容做好了设置。

 

6.6  从数据库中的查看部署效果

无论是 MySQL 还是 Oracle ,查询 jbpm_processdefinition 表,你会发现多了一条记录,如下图 ( PLSQL Developer 的显示为例 )

 

20060823_image006.jpg
 

依次检查各表我们可以发现有如下变化:

 

 

 

 

 

 

20060823_image007.jpg
20060823_image008.jpg
20060823_image009.jpg
20060823_image010.jpg
20060823_image011.jpg
20060823_image012.jpg
 

并由此简单判断出各表的作用,表中各字段的作用由字段名也能知晓一二。

 

jbpm_processdefinition

一个流程定义文件对应一条记录,可记录多个流程定义文件,可记录一个流程定义文件的对个版本。

jbpm_action

记录 ActionHandler 的对象实例(以名称为标识)

jbpm_delegation

记录了 ActionHandler 全类名,以便于用反射方式来加载

jbpm_envent

它的 transition 引用了 Jbpm_transition 表的 id ,再看其它字段,估计此表是表示流程转向事件的一个实例,或者是一个各表之间的联接表。

jbpm_node

流程结点

jbpm_transition

流程的转向定义

jbpm_variableaccess

流程中携带的变量。 ACCESS 字段是这些变量的读写权限

 

分享到:
评论

相关推荐

    jBPM开发入门指南

    **jBPM开发入门指南** jBPM,全称Java Business Process Management,是一个开源的工作流管理系统,用于管理和执行业务流程。它提供了强大的流程建模、执行、监控和优化功能,使得开发者可以灵活地构建和管理复杂的...

    jbpm开发入门指南

    3. **jbpm开发指南** - **使用Eclipse集成开发**:jbpm提供了Eclipse插件,便于流程模型的图形化设计。 - **编写业务逻辑**:在流程中嵌入Java代码或使用MVEL表达式实现任务的逻辑处理。 - **监听器和事件**:...

    jbpm开发入门指南的例子

    【jbpm开发入门指南例子】 jbpm,全称是Java Business Process Management,是一个开源的工作流管理系统,用于构建业务流程应用。它提供了强大的流程定义、执行、监控和管理能力,广泛应用于企业的业务流程自动化中...

    jBPM开发入门指南.doc

    【jBPM开发入门指南】 jBPM(Java Business Process Management)是一个开源的工作流管理系统,用于构建和执行业务流程。它最初是一个独立的项目,后来被JBoss组织接纳,成为其产品线的一部分。jBPM旨在提供灵活、...

    jBPM开发入门指南.rar

    本指南将围绕jBPM的核心概念、安装配置、流程设计以及实战开发等方面进行详细介绍。 首先,我们要理解jBPM的核心概念。jBPM提供了工作流引擎,能够执行流程定义(通常以BPMN 2.0标准表示)。BPMN,即Business ...

    jBPM开发入门指南_V0.1.pdf

    ### jBPM开发入门指南知识点概述 #### 一、jBPM简介与市场需求 - **jBPM**:jBPM是一种广泛应用于企业级应用程序的工作流管理系统的开源框架。随着业务流程复杂性的增加以及对自动化需求的增长,jBPM成为了众多...

    jBPM开发入门指南(2).pdf

    标题所指的知识点为“jBPM开发入门指南”,这是一本指导用户如何入门学习和开发jBPM的指南手册。jBPM是一个企业级业务流程管理(BPM)解决方案,它允许用户定义、执行、监控和优化业务流程。jBPM与Hibernate的整合、...

    JBPM开发指南JBPM开发指南

    JBPM开发指南JBPM开发指南JBPM开发指南

    jBPM4.4开发指南

    ### jBPM4.4开发指南关键知识点解析 #### 一、工作流基础与概念 **1. 工作流定义** 工作流是指业务过程的部分或整体在计算机应用环境下的自动化,其目的是为了使在多个参与者之间按照某种预定义的规则传递文档、...

    JBPM 开发入门指南+例子

    前篇说起要讲在JBPM中实现用户权限,但这段时间比较忙,一直拖着。这里先把jbpm自带的websale例子放上来,大伙先将就看看。这个例子我已经把它抽取了出去,网页部份丢弃了。在看的时候主要看WebsaleTest.java,看看...

    jBPM开发入门指南(2)[归类].pdf

    在本指南中,首先以MySQL和Oracle为例,讲解如何进行jBPM的数据库初始化操作。 对于MySQL,首先需要安装MySQL数据库。在安装完成后,创建一个名为"jbpm"的数据库。然后,获取jBPM的启动包,例如jbpm-starters-kit-...

Global site tag (gtag.js) - Google Analytics