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. Python初始值表示为无穷大

    之前只知道设置变量的初始值为0.今天在写网络路径分析的时候,为了找到离任意坐标距离最近的节点,初始设置最短距离为无穷大,然后不断的去替换,直到找到最近的节点. 刚开始设置是min_dis = 9999 ...

  2. 1 weekend110的hdfs源码跟踪之打开输入流 + hdfs源码跟踪之打开输入流总结

    3种形式的元数据,fsimage是在磁盘上,meta.data是在内存上, 我们继续,前面呢,断点是打在这一行代码处, FileSystem fs = FileSystem.get(conf); we ...

  3. 西安Uber优步司机奖励政策(2月1日~2月7日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  4. AVL树的左旋右旋理解 (转)

    AVL树是最先发明的自平衡二叉查找树.在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平衡树.查找.插入和删除在平均和最坏情况下都是O(log n).增加和删除可能需要通过一次或多 ...

  5. ABAP ALV DEMO示例源码

    关于ALV表格颜色,感觉这种需求在项目中用到的时候不是很多,但是前一段时间面试的时候,面试官问了我关于ALV单元格颜色的问题. 以前了解过一点,回答的不是很好,后来百度了一下,大概了解了一些,今天工作 ...

  6. PowerShell 导出SharePoint管理中心解决方式

    PowerShell 导出SharePoint管理中心解决方式         SharePoint QQ群有人问能不能下载(导出)管理中心里的解决方式.由于在管理中心中点击解决方式会进入还有一个页面 ...

  7. C语言之void类型及void指针 分类: C/C++ 2015-07-13 11:24 8人阅读 评论(0) 收藏

    原文网址:http://www.cnblogs.com/pengyingh/articles/2407267.html 1.概述 许多初学者对C/C 语言中的void及void指针类型不甚理解,因此在 ...

  8. [rxjs] Throttled Buffering in RxJS (debounce)

    Capturing every event can get chatty. Batching events with a throttled buffer in RxJS lets you captu ...

  9. hibernate之.hbm.xml文件内容相关参数说明

    1.<id> 表示主键,下面介绍主键的生成机制 Increment: 由hibernate自动以递增的方式生成表识符,每次增量为1 Identity:由底层数据库生成表识符.条件是数据库支 ...

  10. Cocos2d-x中获取设备语言的方法

    1.cocos2dx获取设备语言的方法:CCApplication::sharedApplication()->getCurrentLanguage() 2.cocos2dx 2.1.4支持识别 ...