jBPM-4.0中文开发指南-第13章 执行模式 - 编程入门网
jBPM-4.0中文开发指南-第13章 执行模式时间:2011-09-24第 13 章 执行模式 这里有三种基本的流程执行模式:对象,持久化和嵌入。 对于持久化和嵌入执行模式, 流程执行必 须在一个事务中执行。在那种情况, 流程执行必须放在一个环境的内部。 环境将用来绑定流程执行,更 新到一个应用事务的事务中。 环境可以被用来绑定,比如一个JDBC连接, JTA,BMT,Spring事务等等。 13.1. 对象执行模式 对象执行模式是使用流程虚拟机的最简单形式。 这意味着通过客户端API直接使用流程定义和执行对 象。 让我们通过一个例子演示这个。 我们通过创建一个ClientProcessDefinition开始,看起来像这样 : 对象执行模式是使用流程虚拟机的最简单形式。 这意味着通过客户端API直接使用流程定义和执行对 象。 让我们通过一个例子演示这个。 我们通过创建一个ClientProcessDefinition开始,看起来像这样 : 图 13.1. 贷款流程
ProcessFactory是一个帮助类, 为构建一个表现为流程定义的对象图提供方便。 AutomaticActivity 是一个通过活动, 没有任何操作发生,WaitState会等到外部signal发生。 这两个活动实现都会在后面 讨论更深。 processDefinition对象作为一个工厂,为流程实例对象。 一个流程实例表现为流程定义的一个执行 。 更准确的说,流程实例是执行的主路径。 ClientExecution execution = processDefinition.startProcessInstance(); jBPM-4.0中文开发指南-第13章 执行模式(2)时间:2011-09-24一个流程实例自己也是一个Execution. 潜在的,一个执行可以拥有子执行 表现执行的同步路径。 execution可以看做是一个状态机, 在流程定义里像描述一样操作。启动一个流程实例意思是 流程定 义的初始节点被执行。 因为这是一个自动活动,执行会执行到evaluate活动。 evaluate活动是一个等待 状态。 当执行到达evaluate活动,startProcessInstance方法 会返回并等待一个外部signal使用signal 方法提供。 所以在startProcessInstance之后,我们可以证实 如果执行定位在evaluate活动。 assertEquals("evaluate", execution.getActivityName()); 为了让流程执行得更远,我们提供一个外部触发器使用 signal方法。执行的结果会被作为 signalName参数给与,像这样: execution.signal("approve"); WaitState活动实现会根据给出的signalName 选择转移。所以执行将首先执行自动活动wire money 然 后在进入等待状态archive后 返回。 assertEquals("archive", execution.getActivityName()); 当执行在archive活动等待时,默认的signal会让它 选择第一个未命名的转移。
流程执行在客户端的线程中。 startProcessInstance方法只在到达evaluate活动时返 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |