Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3245956
  • 博文数量: 530
  • 博客积分: 13360
  • 博客等级: 上将
  • 技术积分: 5473
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-13 13:32
文章分类

全部博文(530)

文章存档

2017年(1)

2015年(2)

2013年(24)

2012年(20)

2011年(97)

2010年(240)

2009年(117)

2008年(12)

2007年(8)

2006年(9)

分类: Java

2013-05-28 15:11:00

1.概述
      先参见《Jbpm5_编程入门Hello World


2.创建流程文件Tt.bpmn
流程如下


图中的分支开始节点为:Gateway(diverge)

属性type有三个取值“
        AND(并行):所有的条件同时满足时,向下进行
        XOR(排他性) :只能有一个条件满足,向下进行
        OR  (兼容):所有条件的OR取值如果为true,可以有多个条件满足,向下进行

属性constraints有二个分支,分别是:c_firstclass和c_money
对应条件代码为
c_firstclass


c_money


节点FirstClass的Action为
     System.out.println("We are flying in First class");

节点Money的Action为
      System.out.println("We are flying in Economy class");


图中的分支开始节点为:Gateway(converge),type:xor
属性type有二个取值
    AND(并行):等待所有的进入条件完成后,向下进行
    XOR(排它):只要有一个进入条件完成,就向下进行

创建流程变量money
    在图中任何地方点击一下,查看property中的variables,添加一个变量money

3.创建测试代码
测试代码如下

点击(此处)折叠或打开

  1. public class TtMain {
  2.     public static final void main(String[] args) throws Exception {
  3.         // load up the knowledge base
  4.         KnowledgeBase kbase = readKnowledgeBase();
  5.         StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
  6.         
  7.         // start a new process instance
  8.         Map<String, Object> params = new HashMap<String, Object>();
  9.         params.put("money", 100);
  10.         ksession.startProcess("com.sample.bpmn.Tt",params);
  11.     }

  12.     private static KnowledgeBase readKnowledgeBase() throws Exception {
  13.         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
  14.         
  15.         kbuilder.add(ResourceFactory.newClassPathResource("Tt.bpmn"), ResourceType.BPMN2);
  16.         return kbuilder.newKnowledgeBase();
  17.     }
  18. }




项目代码如下
Example1.zip


参考文献
第一个JBPM 例子 . http://blog.163.com/mr_liuyong/blog/static/12342437620122211250712/
阅读(4865) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

python_ant2013-09-13 17:20:04

不错,学习了,多谢楼主。。。。