Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3336363
  • 博文数量: 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-27 22:24:58

1.概述
    安装参见《Jbpm5安装


2.新建项目
    选择new -> jbpm project

   输入完项目保存目录后,会提示是否建一个hello world示例项目,不用修改任何设置,点击finish

3.示例项目解析
    项目有三个文件
        ProcessMain.java:针对sample.bpmn ,启动一个过程
        ProcessTest.java:针对sample.bpmn的测试类
        sample.bpmn:一个简单的Hello world流程

4.修改Sample.bpmn流程
     打开sample.bpmn,选中"hello"节点,点击工具栏上的"属性",点击"Action",进行修改

      System.out.println("Hello world");
修改为
      System.out.println("Hello "+kcontext.getVariable("name"));

    这里的kcontext:ProcessContext 对象的引用

5.修改ProcessMan.java
      由于流程中要使用变量name,所以这里在启动流程时,要给流程赋值

点击(此处)折叠或打开

  1. public static final void main(String[] args) throws Exception {
  2.         // 实例化 knowledge base,其实是加载流程文件
  3.         KnowledgeBase kbase = readKnowledgeBase();
  4.         // 根据流程文件生成一个session
  5.         StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();

  6.         // 由session启动一个流程实例
  7.         Map<String, Object> params = new HashMap<String, Object>();
  8.         params.put("name", "xiahui");
  9.         ksession.startProcess("com.sample.bpmn.hello",params);
  10.     }

  11.     private static KnowledgeBase readKnowledgeBase() throws Exception {
  12.         KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
  13.         kbuilder.add(ResourceFactory.newClassPathResource("sample.bpmn"), ResourceType.BPMN2);
  14.         
  15.         return kbuilder.newKnowledgeBase();
  16.     }
结果输出:Hello xiahui


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

erosrose2013-12-15 21:59:23

找了好久 终于找到这么好的JBPM学习文章了。 支持博主啊!!!