jbpm5.1介绍(4)

来源:互联网 发布:windows调色板pal下载 编辑:程序博客网 时间:2024/05/16 17:04

eclipse插件

需求
Eclipse的3.6更新版本

Graphiti框架使用更新站点

可以直接下载更新Graphiti

http://download.eclipse.org/graphiti/updates/0.7.1/

更新bpmn2.0插件

http://codehoop.com/bpmn2

也可以直接从网站上下载后到本地更新,下载地址

https://github.com/droolsjbpm/bpmn2-eclipse-editor

使用eclipse创建hellojbpm

打开eclipse,新建jbpm project

输入工程名,然后都是下一步

最后完成,工程就创建完成了。

修改流程定义

加入两个Script Task,然后修改其属性,点击节点然后在下方面板中修改属性

在Action加入要执行的代码,可以是java也可以是Mvel角本

加完之后,可以看到流程如下图

执行测试流程,流程将直接走到结束并且经过两个Script Task并且输出内容

public classProcessTest {
 
    publicstatic final voidmain(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();
        }
    }
 
    privatestatic KnowledgeBase readKnowledgeBase() throws Exception {
        KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
        kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2);
        returnkbuilder.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,以处理在不同的时刻状态的变化。