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.创建测试代码
测试代码如下
-
public class TtMain {
-
public static final void main(String[] args) throws Exception {
-
// load up the knowledge base
-
KnowledgeBase kbase = readKnowledgeBase();
-
StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
-
-
// start a new process instance
-
Map<String, Object> params = new HashMap<String, Object>();
-
params.put("money", 100);
-
ksession.startProcess("com.sample.bpmn.Tt",params);
-
}
-
-
private static KnowledgeBase readKnowledgeBase() throws Exception {
-
KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
-
kbuilder.add(ResourceFactory.newClassPathResource("Tt.bpmn"), ResourceType.BPMN2);
-
return kbuilder.newKnowledgeBase();
-
}
-
}
项目代码如下
Example1.zip
参考文献
第一个JBPM 例子 . http://blog.163.com/mr_liuyong/blog/static/12342437620122211250712/
阅读(4914) | 评论(1) | 转发(0) |