
上QQ阅读APP看书,第一时间看更新
3.3 BpmnModel方式部署
使用该方式复杂点在于客户端需要手动构造流程引擎中的BpmnModel实例对象,如果开发人员平时设计流程文档时过多依赖图形化工具,可能对流程文档中定义的元素含义与引擎内部相对应的元素属性承载类不熟悉,因此使用该方式可能有点棘手,显得力不从心,本节先写一个简单的入门程序,该案例的相关实现如代码清单3-8所示。
代码清单3-8 DeploymentBuilderTest.java

在上述代码中,第2~6行构造flow1对象,并为其填充属性。第8~12行构造flow2对象,并为其填充属性。第14~18行构造flow3对象,并为其填充属性。第23行实例化Process类。第37~41行构造userTask2对象,并为其填充属性;第43~46行构造endEvent对象,并为其填充属性。第48~54行将上述创建的一系列对象设置到process对象中。下面使用图3-5对上述代码中涉及的流程进行通俗易懂的描述。

图3-5 BpmnModel描述