jbpm5.1介绍(4)

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

时间: 2024-07-29 03:49:18

jbpm5.1介绍(4)的相关文章

jbpm5.1介绍(2)

快速开始  首先下载jBPM,http://sourceforge.net/projects/jbpm/files/ 可以有选择性的下载: bin:jBPM的二进制文件和它们的依赖包 src:核心模块的源码 gwt-console:jBPM的控制台,包括服务端和客户端 docs:文档 examples:一些jBPM的例子,可以导入到Eclipse installer: jBPM的安装,下载和安装一个jBPM的示例 installer-full:所有的包括demo,jar包等待的完整工程 一些有用

jbpm5.1介绍(3)

在您好的应用程序中使用一个新的流程 流程处理  (1)你需要建立一个知识库,其中包含过程定义 KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder(); kbuilder.add( ResourceFactory.newClassPathResource("MyProcess.bpmn2"),               ResourceType.BPMN2 ); 加入你的进程生成器(可以添加多个

jbpm5.1介绍(1)

介绍 jBPM是一个灵活的业务流程管理(BPM)套件.这使得业务分析师和开发人员之间的桥梁.传统的BPM引擎有一个重点,是有限的非技术人员. jBPM的有两个重点:它提供了一种方式,企业用户和开发人员喜欢它的流程管理功能. jBPM是什么 jBPM是以流程图为导向的工作流管理系统. jBPM的核心是一个轻量级,可扩展的工作流引擎在纯Java编写的,可让您执行业务流程,采用最新的BPMN 2.0规范.它可以运行在任何Java环境中,嵌入在您的应用程序或服务. 流程语言 jBPM以BPMN 2.0为

jbpm5.1介绍(5)

看几个jbpm5中带的示例程序吧,包括了很多我们在日常生活中的场景 循环示例 本示例是一个在外部传入的变量,通过传入的变量来判断循环次数的演示程序,看一下流程定义的内容 如图: 初始化的时候设置变量i的值为0,然后进入流程结点,选择的是XOR,就是异或的意思,在循环中输出变量i的值并且加1, 在后面的选择节点上判断变量i的值,如果小于count则循环继续,如果大于i那么就进行完成结点,输出结点中的内容. 运行程序LoopingExample,程序内容如下: public class Loopin

jbpm5.1介绍(12)

GWT是什么 如今,编写网络应用程序是一个单调乏味且易于出错的过程.开发人员可能要花费 90% 的时间来处理浏览器行话.此外,构建.重复使用以及维护大量 JavaScript 代码库和 AJAX 组件可能困难且不可靠.Google Web Toolkit (GWT) 允许开发人员使用 Java 编程语言快速构建和维护复杂而又高性能的 JavaScript 前端应用程序,从而降低了开发难度,尤其是与 Eclipse Google 插件结合使用时,优势更明显. google的官方说的很详细 http

jbpm5.1介绍(11)

Jbpm-gwt-console源码编译 从svn下载,svn的下载地址是 http://anonsvn.jboss.org/repos/soag/bpm-console/tags/bpm-console-2.1 下载之后使用mvn进行编译 当中遇到本很多问题,可以通过以下的网站进行jar包的查找和处理 https://repository.sonatype.org/index.html#welcome mvn仓库 http://www.java2s.com/ jar包查找 http://gre

jbpm5.1介绍(10)

Junit测试异常事件触发 下面的示例中测试在程序中触发异常事件的流程,流程如下 测试程序 public void testTimerBoundaryEventInterrupting() throws Exception { KnowledgeBase kbase = createKnowledgeBase("BPMN2-TimerBoundaryEventInterrupting.bpmn2"); StatefulKnowledgeSession ksession = create

jbpm5.1介绍(6)

Junit测试的mini流程helloworld 这是一个在demo中使用的Script Task做的简单示例,在执行到这个任务结点的时候自动输出"hello world" 打开BPMN2-MinimalProcess.bpmn2文件 流程如上图,流程开始的时候自动执行这个节点,然后在节点上执行输出的命令 看一看测试程序 public void testMinimalProcess() throws Exception {         KnowledgeBase kbase = c

jbpm5.1介绍(9)

Junit测试调用子流程 下面的示例中测试在程序中调用其它程序的子流程的示例,需要加载两个配置文件 和 需要指定属性 下面是调用的示例程序 public void testCallActivity() throws Exception {         System.out.println("Loading process BPMN2-CallActivity.bpmn2");         KnowledgeBuilder kbuilder = KnowledgeBuilderF