jbpm5.1介绍(4)
eclipse插件
需求
Eclipse的3.6或更新版本
Graphiti框架,使用更新站点
可以直接下载更新Graphiti
http://download.eclipse.org/graphiti/updates/0.7.1/
更新bpmn2.0插件
也可以直接从网站上下载后到本地更新,下载地址
https://github.com/droolsjbpm/bpmn2-eclipse-editor
使用eclipse创建hellojbpm
打开eclipse,新建jbpm project
输入工程名,然后都是下一步
最后完成,工程就创建完成了。
修改流程定义
加入两个Script Task,然后修改其属性,点击节点然后在下方面板中修改属性
在Action加入要执行的代码,可以是java也可以是Mvel角本
加完之后,可以看到流程如下图
执行测试流程,流程将直接走到结束并且经过两个Script Task并且输出内容
public class ProcessTest { public static final void main(String[] args) { try { // load up the knowledge base KnowledgeBase kbase = readKnowledgeBase(); StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test"); // start a new process instance ksession.startProcess("com.sample.bpmn.hello"); logger.close(); } catch (Throwable t) { t.printStackTrace(); } } private static KnowledgeBase readKnowledgeBase() throws Exception { KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2); return kbuilder.newKnowledgeBase(); } }
运行可看到结果
Hello jbpm5 自动化的流程向下走
使用eclipse创建hellojbpm
打开eclipse,将示例工程导入,示例工程路径jbpm-installer/sample/evaluation
这是一个员工添写自我评价并且需要人力资源和项目经理审批的示例,中间有两个网关都是AND,就是表示必须是人力资源和项目经理全部评价完成流程才算结束。
员工:krisv
人力资源:mary
项目经理:john
看下图:
首先运行工程中的示例,开始流程
在view中选出Human task view
流程开始的时候,krisv开始添写自我评价,这时到human task view中可以看到状态
输入krisv并且刷新
可以看到自己要处理的流程
点击start,则流程进入到inprogress状态,点击complete,则流程结束
完成之后进入一个分支节点,这个结点用的是AND就是只有当人事经理和项目经理全部审核通过后流程才算结束
我们在human task view输入mary,则出现mary的待办列表
流程处理状态同krisv,也可以输入john看一下,每个人都有对应的要处理的任务列表,比较直观的就能看到要处理的结果。
只有当两个流程全部结束流程才算结束。
通过上面的示例我们看到了使用人工结点,也可以在结束前或者流程中加入Script Task,以处理在不同的时刻状态的变化。