jBPM-4.0中文开发指南-第5章 实现基本活动 - 编程入门网
jBPM-4.0中文开发指南-第5章 实现基本活动时间:2011-09-24第 5 章 实现基本活动 这一章解释了流程定义的基础,流程虚拟机给予的功能 以及活动实现是如何构建的。 同时,客户端 API被用来执行包含了那些活动实现的流程。 5.1. ActivityBehaviour PVM库没有包含完整的流程结构。 作为替代的是,活动的运行时行为被委派给一个 ActivityBehaviour. 换句话讲,ActivityBehaviour是一个接口,它用来在纯java环境实现流程结构的运 行时行为。
当一个活动行为被调用时,它就处于执行传播的全部控制中。 换句话说,一个活动行为可以决定下一 步应该执行什么执行。 比如,可以使用execution.take(Transition)获得一个转移,或者使用 execution.waitForSignal()进入等待阶段。 万一活动行为没有调用任何上述的执行传播方法,执行将 按默认方式执行。 5.2. ActivityBehaviour实例 我们会启动一个非常原始的hello world例子。 一个Display活动会将一条信息打印到控制台:
让我们使用这个活动构建我们第一个流程定义:Display实例流程 图 5.1. Display实例流程 TODO add ProcessBuilder example code jBPM-4.0中文开发指南-第5章 实现基本活动(2)时间:2011-09-24现在我们可以像下面这样执行流程: Execution execution = processDefinition.startExecution(); startExecution的调用会在控制台打印hello world: hello world 一个总是值得提醒的事情是活动可以使用属性进行配置。 在Display例子中,你可以看到message属性 在两种使用方法中配置的不同。 通过配置属性,我们可以写出可复用的活动。 它们可以在以后每次使用 在流程中都进行不同的配置。 这是一个基本的部分,将流程语言构建在流程虚拟机之上。 其他需要解释的部分是 这个活动实现没有包含任何执行传播的功能。 当一个新流程实例启动时,执 行会定位到初始活动,那个活动会被执行。 Display.execute方法用来决定默认的执行传播。 具体的, 这意味着活动自己 没有调用任何执行传播的方法。 那种情况下,默认的传播会执行。默认传播会选择第 一个转移,如果这个转移存在的话。 如果没有,它会结束这个执行。 这揭示了为什么a活动和b活动都被 执行,而在b活动执行完执行会停止。 关于默认流程行为的更多细节可以 在第 7.3 节 “默认执行行为”找到。 5.3. ExternalActivityBehaviour 外部活动是负责流程执行由外部转移进来的活动,外部的意思是来自流程系统的外部。 这意味着这个 执行流程对于系统来说,这是一个等待状态。 这个执行会一直等待到外部触发器调用。 为了处理外部触发器,ExternalActivityBehaviour 为ActivityBehaviour添加了一个方法:
就像普通的活动,当一个执行到达一个活动,外部活动行为的execute方法会被调用。 在外部活动中 ,execute方法会传递另一个系统的响应,然后通过调用execution.waitForSignal() 进入等待状态。 比如在execute方法中,响应可能是由一个人传入, |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |