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(可任意名字)如下图:

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

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

创建并运行Drools工程

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

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

  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信息如下:

  1. groupId=org.droolsartifactId=helloworldversion=1.0

正常运行使用Maven编译该文件会自动生成,此处我们需要手动输入。

kmodule.xml 内容如下:

  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方法内容如下:

  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,程序输出如下内容:

  1. Hello WorldGoodbye cruel world

即企业规则文件执行成功。

创建并运行jBPM工程

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

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

  1. └── src    └── main        ├── java        │   └── com        │       └── sample        │           └── ProcessTest.java        └── resources            └── sample.bpmn
  • ProcessTest为运行Sample流程的java类
  • sample.bpmn为Sample流程

ProcessTest中执行流程的代码段如下:

  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输出如下:

jBPM 6 开发 eclipse 插件安装的更多相关文章

  1. Go语言开发 Eclipse插件安装

    UpdateSite: http://goclipse.github.io/releases/

  2. JAVAEE——SSH项目实战01:SVN介绍、eclipse插件安装和使用方法

    1 学习目标 1.掌握svn服务端.svn客户端.svn eclipse插件安装方法 2.掌握svn的基本使用方法 2 svn介绍 2.1 项目管理中的版本控制问题 通常软件开发由多人协作开发,如果对 ...

  3. (转载)eclipse插件安装的四种方法

    eclipse插件安装的四种方法 Eclipse插件的安装方法 1.在eclipse的主目录(ECLIPSE_HOME, 比如在我的机器上安装的目录是:D:\eclipse)有一个plugins的目录 ...

  4. Android模拟神器Genymotion eclipse插件安装问题出解决

    我之前一直是打开eclipse之前直接运行Genymotion模拟器就可以连接到adb了,非常方便,但最近突然想来装个eclipse的Genymotion插件玩玩,安装时居然出错了,于是不折腾好心里不 ...

  5. 常用的4个eclipse插件安装过程及使用方法

    最近整合了4个常用eclipse插件安装过程,分别是PMD.checkstyle.findbugs.sourcemonitor插件.因为我这里没有外网,所以所有的插件不是最新版,建议有网的童鞋自行在外 ...

  6. Eclipse插件安装方法大全

    1. M2e maven2插件安装 参考地址:http://www.sonatype.com/books/m2eclipse-book/reference/install-sect-marketpla ...

  7. eclipse插件安装验证及问题处理

    eclipse插件安装验异常时可看当前workspace下面的.metadata/.log文件,找到具体的问题来处理.一般常用到插件安装不成功的原因如下: 1.jar包冲突: 2.jar包依赖的jav ...

  8. 从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装

    标题:从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/11260750. ...

  9. genymotion 和genymotion eclipse 插件安装 !

    昨天天有好心网友在群里共享了一个好用的 android 模拟器 genymotion 昨天就试用了下 真心流畅 各位不妨一试 http://www.genymotion.com/ doc https: ...

随机推荐

  1. Unity3D游戏开发入门(一)

    视频: 慕课网适合入门 http://www.imooc.com/video/6582 蛮牛网: http://www.manew.com/ 圣殿中文手册 5.3.2破解工具 面试题 pdf 书籍:

  2. EF框架搭建

    EF框架搭配lambda表达式使用起来非常高效便捷,有两种方法使用EF框架: 一是.添加“ADO.NET Entity Data Model”项,绑定配置数据库链接,勾选表和存储过程等,自动生成实体: ...

  3. SQL SERVER 的 INFORMATION_SCHEMA 的使用

    ------------------------------------------------------- 第一个查询看看库里有多少个表,表名等 select * from INFORMATION ...

  4. ARM学习笔记14——C语言和汇编相互套用

    这里,我们要准备两个文件,一个是汇编文件start.S,另一个是C文件led.c.汇编文件套用C文件中的开关灯函数,C文件套用汇编文件中延时函数. //start.S .global led_init ...

  5. Unity3d BTDF实时折射模拟有粗糙度的半透明物体

    折射的原理是运用BTDF的一个球形高斯近似 需要考虑折射光的来源,一般会想到用环境贴图(IBL)或者grab texture,但是折射光不全都来自一个平面,所以选择环境贴图来作为折射光.这个效果主要是 ...

  6. 资深系统管理员给Linux/Unix新人们的建议

    根据同事多年跟踪的学员情况,我们发现,学员在同等条件学习Linux后,选择开发要比系统应用薪水要上升的更为迅速,而且更容易突破5000.8000或10000等每月的门槛:但是这个方向难度会更大,同时会 ...

  7. Poj 3695-Rectangles 矩形切割

    Rectangles Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3846   Accepted: 1124 Descri ...

  8. [LeetCode] 3Sum 解题思路

    Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all un ...

  9. How to Validate XML using Java

    Configure Java APIs (SAX, DOM, dom4j, XOM) using JAXP 1.3 to validate XML Documents with DTD and Sch ...

  10. 文件上传工具swfupload[转]

    转至:http://zhangqgc.iteye.com/blog/906419 文件上传工具swfupload 示例: 1.JavaScript设置SWFUpload部分(与官方例子类似): var ...