`
greatghoul
  • 浏览: 143552 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

开始学习jbpm | #jbpm

阅读更多
  因为工作的关系,需要使用jbpm,可自己以前根本就没有接触过,算是从零开始吧。以后会记下的学习中的点滴,我使用的教程是《jBPM jPDL 用户开发手册 3.2.3 》的中译版,说实话,有的地方译的的确不怎么样,但总比自己慢慢看英文要快,现在讲的是效率,而且作者算是个有心的人。

  下载:(jbpm sourceforge 文件列表)

  jbpm-jpdl-suite-3.2.3.zip
  没有什么特殊原因,教程中用的就是这个版本,配套嘛。
  eclipse-jee-europa-winter-win32.zip
  要使用jbpm 3.2.3的设计器插件,需要eclipse 3.3版本的支持,只能暂时搁置eclipse 3.5了。

  安装:

  当然,使用jbpm的前提是你已经安装并配置了jdk,这个不必多谈吧,

  1. 解压jbpm-jpdl-stuite-3.2.3.zip
  2. 解压eclipse-jee-europa-winter-win32.zip
  3. 安装图形设计器插件。
  4.   将jbpm-jpdl-stuite-3.2.3.zip解压后的designer目录下的eclipse文件夹中的内容复制到eclipse 3.3的根目录下,重启eclipse,即可完成插件的安装。插件安装后,可以在新建对话框中找到jbpm的相关项。
  5. 配置jBPM插件运行环境。
  6.   在Eclipse的“window > Preferences”中展开“JBoss jBPM”分支,添加一个Runtime Location,路径为jbpm-jpdl-stuite-3.2.3解压后的路径。可以在Server Deployment分支中看到jbpm的布署配置 。


Hello,World:

  以教程中的Hello,World为例,流程如下。



  在eclipse中新建一个“Process Project”项目,然后新建一个HelloWorld类。
package org.zym.helloworld;

import org.jbpm.graph.def.ProcessDefinition;
import org.jbpm.graph.exe.ProcessInstance;
import org.jbpm.graph.exe.Token;
import junit.framework.TestCase;

public class HelloWorld extends TestCase {
    public void testHelloWorldProcess() {
        // 这个方法显示一个流程定义和一个流程定义的执行。
        // 流程定义有三个节点:
        // 未命名的start-state, state's'和命名为'end'的end-state节点
        // 下一行解析xml文本到ProcessDefinition类
        // ProcessDefinition是作为java对象的流程的正规描述。
        String xml = "<process-definition>" + "<start-state>"
                + "<transition to='s'/>" + "</start-state>"
                + "<state name='s'>" + "<transition to='end'/>" + "</state>"
                + "<end-state name='end'/>" + "</process-definition>";
        ProcessDefinition processDefinition = ProcessDefinition
                .parseXmlString(xml);
        // 下一行建立一个流程定义的执行,在创建后,流程执行有一个执行的主路径
        // (=root token),定位在start-state节点位置。
        ProcessInstance processInstance = new ProcessInstance(processDefinition);
        // 创建流程执行的主路径(=root token)
        Token token = processInstance.getRootToken();
        // 在创建流程定义后,确定主路径牌开始状态节点处
        assertSame(processDefinition.getStartState(), token.getNode());
        // 让我们开始流程执行,通过它的缺省流程转换离开开始节点
        token.signal();
        // signal方法将阻止直到流程执行进入一个等待状态
        // 所以执行的主路径现在定位在状态's'
        assertSame(processDefinition.getNode("s"), token.getNode());
        // 让我们发送一个信号。假设执行离开状态's'通过缺省的流程转换
        token.signal();
        // 现在信息方法返回,因为这个流程实例已经到达结束节点(end-state)
        assertSame(processDefinition.getNode("end"), token.getNode());
    }
}

  使用JUnit运行这个hello,world即可。


  • 大小: 7.2 KB
分享到:
评论

相关推荐

    jbpm学习笔记jbpm学习笔记

    jbpm学习笔记:安装插件、配置环境、发布流程定义、查看流程定义

    jbpm学习资料,jbpm教程

    jbpm学习资料,jBPM-jPDL学习笔记,很详细。。。。。。。。。。。jbpm教程

    JBPM5入门学习.doc

    JBPM5入门学习 JBPM5.4中文手册

    jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍

    jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍

    JBPM4 学习资料

    整理的别人JBPM4 学习资料, 工作流学习文档

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    jbpm5入门学习

    jbpm5入门学习资料

    JBPM工作原理及表结构详解

    本文件从JBPM的原理、实现方法、实例等方面详细讲解了JBPM的原理,包括以下内容: 1、JBPM特色: 3 2、流程图的组成: 3 2.1流转 (TRANSITION) 3 2.2活动 (ACTIVITY) 3 3、所用到的表: 4 3.1资源库与运行时表结构:...

    jbpm学习文档

    jbpm学习文档

    jbpm开发指南 学习jbpm的好东西

    jbpm开发指南 学习jbpm的好东西 jbpm开发指南 学习jbpm的好东西

    jbpm简介\jbpm简介

    \jbpm简介\jbpm简介\jbpm简介\jbpm简介\jbpm简介

    jbpm3.1.4经典学习教程

    jbpm3.1.4的学习教程,里面有jbpm开发指南,学完这个教程你就能够看懂jbpm的项目了。然后我还做了个小的例子,把详细的不走都记录下来了。

    jbpm 数据库jbpm 数据库

    jbpm 数据库jbpm 数据库jbpm 数据库jbpm 数据库jbpm 数据库

    jbpm入门学习资料

    斯坦福特jbpm入门资料,内容不错,由浅入深,系统讲解了jbpm,是不错的入门资料噢

    jbpm4jbpm5

    jbpm应用开发指面(胡奇) jbpm4.3表结构和表字段说明 [jBPM开发指南].高杰.文字版 jBPM5_用户手册-中文版

    jbpm开发指南--jbpm全面介绍

    通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...

    jbpm 案例 jbpm jbpm

    jbpm使用案例,非常不错,大家都来看看吧。

    JBPM工作流全套学习资料

    JBPM工作流全套学习资料!比较全面的介绍了jbpm,可以作为学习工作流的参考资料.

    jbpm3.2表说明

    JBPM_NODE JBPM_PROCESSDEFINITION FK_PROCDEF_STRTSTA STARTSTATE_ 此关系表示那个节点是开始节点 JBPM_TRANSITION JBPM_TRANSITION FK_TRANS_PROCDEF PROCESSDEFINITION_ 一个流程可能会有很多的 TRANSITION...

    JBPM采购申请系统——08_JBPM流程节点.7z

    JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...

Global site tag (gtag.js) - Google Analytics