jBPM 6 开发 eclipse 插件安装

时间:2021-03-17 20:13:50

jBPM 6 开发 eclipse 插件安装

概述

与之前的jBPM 5相比,jBPM 6 新引入的kjars及mavenized的特性,使流程开发设计与之前有了很大的不同,本文主要说明jBPM 6 相关 eclipse 插件安装,及使用安装好的插件初次测试jBPM开发。

jBPM 6 开发 eclipse 插件安装

http://sourceforge.net/projects/jbpm/files/jBPM%206/jbpm-6.0.0.Final/选择下载jbpm-6.0.0.Final-installer-full.zip,解压,解压完成org.drools.updatesite-6.0.0.Final.zip位于jbpm-installer/lib目录下。

打开eclipse,Help -> Install New Software -> Add -> Archive,选择org.drools.updatesite-6.0.0.Final.zip,并命名jbpm-plugin(可任意名字)如下图:

jBPM 6 开发 eclipse 插件安装

点击OK,在弹出的选择框中选择JBoss Drools Core, JBoss Drools Guvnor, JBoss jBPM Core,如下图:

jBPM 6 开发 eclipse 插件安装

点击Next,直到同意安装license页,选择同意安装license,点击下一步,知道完成安装,重启eclipse,即完成安装。

创建并运行Drools工程

打开eclipse,File -> New -> Other -> Drools -> Drools Project -> Next,创建工程名“org.drools.helloworld”,Next 确保HelloWorld规则文件和运行HelloWorld规则文件的程序被选中,如下图所示:

jBPM 6 开发 eclipse 插件安装

点击Finish,完成创建。目录结构如下图所示:

view plaincopy to clipboardprint?
  1. .└── org.drools.helloworld    ├── src    │   └── main    │       ├── java    │       │   └── com    │       │       └── sample    │       │           └── DroolsTest.java    │       └── resources    │           ├── META-INF    │           │   ├── kmodule.xml    │           │   └── maven    │           │       └── pom.properties    │           └── rules    │               └── Sample.drl  

  • DroolsTest.java 为运行HelloWorld drools文件的类
  • Sample.drl 为规则文件
  • kmodule.xml 为 jBPM 6引入的kjars和mavenized概念对应的配置文件
  • pom.properties 为mavenized概念对应的配置文件
我们注意,我们需要修改pom.properties文件,添加相关maven信息如下:

view plaincopy to clipboardprint?
  1. groupId=org.droolsartifactId=helloworldversion=1.0  
正常运行使用Maven编译该文件会自动生成,此处我们需要手动输入。

kmodule.xml 内容如下:

view plaincopy to clipboardprint?
  1. <?xml version="1.0" encoding="UTF-8"?><kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">    <kbase name="rules" packages="rules">        <ksession name="ksession-rules"/>    </kbase></kmodule>  
该配置定义当前kbase为classpath下rules,ksession的名字为ksession-rules。

DroolsTest的main方法内容如下:

view plaincopy to clipboardprint?
  1. public static final void main(String[] args) {        try {            // load up the knowledge base            KieServices ks = KieServices.Factory.get();         KieContainer kContainer = ks.getKieClasspathContainer();            KieSession kSession = kContainer.newKieSession("ksession-rules");            // go !            Message message = new Message();            message.setMessage("Hello World");            message.setStatus(Message.HELLO);            kSession.insert(message);            kSession.fireAllRules();        } catch (Throwable t) {            t.printStackTrace();        }    }  
运行 DroolsTest,程序输出如下内容:

view plaincopy to clipboardprint?
  1. Hello WorldGoodbye cruel world  
即企业规则文件执行成功。

创建并运行jBPM工程

打开eclipse,File -> New -> Other -> jBPM -> jBPM Project(Maven) -> Next,创建工程名“org.jbpm.helloworld”,Next,确保简单示例流程模板被选择,如下图:

jBPM 6 开发 eclipse 插件安装

点击Finish完成创建工程,后目录如下结构如下:

view plaincopy to clipboardprint?
  1. └── src    └── main        ├── java        │   └── com        │       └── sample        │           └── ProcessTest.java        └── resources            └── sample.bpmn  

  • ProcessTest为运行Sample流程的java类
  • sample.bpmn为Sample流程
ProcessTest中执行流程的代码段如下:

view plaincopy to clipboardprint?
  1. public void testProcess() {     RuntimeManager manager = createRuntimeManager("sample.bpmn");       RuntimeEngine engine = getRuntimeEngine(null);      KieSession ksession = engine.getKieSession();               ProcessInstance processInstance = ksession.startProcess("com.sample.bpmn.hello");       // check whether the process instance has completed successfully        assertProcessInstanceCompleted(processInstance.getId(), ksession);      assertNodeTriggered(processInstance.getId(), "Hello");              manager.disposeRuntimeEngine(engine);       manager.close();    }  

运行 ProcessTest输出如下:

view plaincopy to clipboardprint?
  1. Hello World