jbpm5.1介绍(4)

本文指导如何在eclipse中使用jbpm创建并测试一个简单的流程,包括安装所需插件、创建工程、定义流程、添加脚本任务、执行流程及查看结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 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,以处理在不同的时刻状态的变化。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值