JBPM 5 新鲜出炉了,这两天尝了尝鲜,还不错。
1. 安装
首先需要安装ant和JRE
然后去Jboss网站上下载一个demo installer, 目前最新的文件是jbpm-5.1-SNAPSHOT-installer.zip,将它解压缩到本地硬盘,会生成一个jbpm-installer文件夹。
从命令行进入该文件夹,运行 ant install.demo
将开始下载并安装jboss, eclipse, drool这些组件,时间会比较久,如果系统提示Build Failed,那就是由于某个下载没有成功,在命令行里看一个是什么文件没有下载成功,然后去手动搜索该文件,并将其下载到jbpm-installer/lib下。直到命令行提示Build Successful,就说明安装成功了。如果需要用到报表功能,则需要下载birt,将jbpm-installer/build.properties中的jBPM.birt.download=false改成jBPM.birt.download=true。
2.启动
在命令行运行 ant start.demo
如果提示build failed, jboss didn't start within 5 minutes, 有可能是你的8080端口上有其他服务。或者是你电脑配置不够,可以将jbpm-installer/build.xml里的start Jboss AS部分里的waitfor maxwait =5 改成 10,这样就给你电脑10分钟时间启动jboss。
当看到eclipse打开后,就说明启动成功了!
3.创建一个小流程
功能是提示用户输入月收入,然后根据该收入,判断该用户是否可以开信用卡,然后给出结果。
在左边导航栏按右键,选择new->other->jbpm->jbpm project,给project取名trial。
双击导航栏里的trial->src/main/resource下的sample.bpmn,会在主界面打开该流程定义,将其改为如下的流程:
首先为该流程的properties(在该流程图下面的一排小按键里有一个Properties)添加两个变量,type和income,类型为String和Integer, type用来储存客户是qualified还是unqualified,income是客户输入的月收入。
然后点击input这个node,在它的Properties中的Action属性加入一段代码,如下图:
点击第一个gateway node(流程图里带X的绿色节点),将它的Type改成XOR,然后编辑Constraints,如下图:
同样方法编辑Unqualified那一边,加入代码return income < 2001;
接着点击Qualified这个node,编辑其Properties下面的Action属性,加入:
kcontext.setVariable("Type","Qualified");
这句代码将流程变量Type的值设置为Qualified。
用同样的方法为Unqualified节点的Action属性添加如下代码:
kcontext.setVariable("Type","Unqualified");
再接着点击Script这个节点,为它的Action属性加上代码,如下图:
现在测试一下流程,运行ProcessTest.java这个程序,系统会在console窗口输出:
Please input your monthly income
输入3000,回车,
系统会显示:
Your income is:3000
You are Qualified for the credit card
如下图: