![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
||||||
| JBPM中的起始任务 | ||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-7-8 ![]() |
||||||
|
JBPM中的起始任务 什么是起始任务 所谓起始任务就是在开始状态(start-state)中定义的任务(task)。
<process-definition> <swimlane name='initiator' /> <start-state> <task swimlane='initiator' /> <transition to='...' /> </start-state> ... </process-definition> 起始任务的创建执行 如果定义了起始任务,就可以通过创建起始任务来启动流程的执行,而不是通过向根令牌发信号的方式。如下代码: //创建起始任务 TaskInstance taskInstance = processInstance.getTaskMgmtInstance.createStartTaskInstance(); ......... //完成起始任务,继续流程执行 taskInstance.end(); 起始任务的参与者 起始任务的任务实例在创建时,其参与者会自动从身份鉴定组件获取,这从Jbpm的源码中可以得知,如下代码片断: public class TasgMgmtIntance extends ModuleInstance() { …… public TaskInstance createStartTaskInstance() { …… taskInstance.setActorId( SecurityHelp.getAuthenticatedActorId()); return taskInstance; } …… } public abstract class SecurityHelp() { public static String getAuthenticatedActorId() { …… AuthenticationService authenticationService = jbpmContext.getService().get AuthenticationService(); if(authenticationService != null) actorId = authenticationService.getActorId(); …… return actorId; } } 身份鉴定组件是Jbpm提供的安全机制中用来鉴定参与者身份的,这是一个开放的接口,Jbpm基于的前提是把身份鉴定交给用户来完成。Jbpm自己有一个默认实现(在jbpm.cfg.xml中配置),针对于这个默认实现,可以使用jbpmContext.setActorId(actorId)来设置已经过鉴定的参与者(可查看JbpmContext类相关源码),创建起始任务时自动取的参与者就是通过jbpmContext.setActorId(actorId)所设置的(注意:具体所设置的参与者的鉴定过程需要用户在事先已经完成;这个设置只存在于所创建的jbpmContext生命周期内)。有关身份鉴定更多信息请查阅相关资料。 当然我们也可以调用taskInstance.setActorId()自己设定起始任务的参与者。 起始任务的用途 l 流程起始需要一个过程 当流程的起始不单单只是一个状态,而需要一个过程的时候,我们需要起始任务。例如:一个请假审批流程,用户填写请假单进行保存,而不是即刻进行流程流转执行;而该用户下次登录时应该可以看到自己未完成的请假单,并继续流程执行(提交审批)。这时我们就可以在用户首次填写请假单进行保存时,创建流程实例及起始任务,而当用户再次登录就可以看到自己未完成的工作,选择提交审批时完成任务,并继续流程的流转。 l 捕获流程的发起者 在起始任务中使用泳道,来捕获流程的发起者。当起始任务的任务实例创建时,参与者会自动被存储在起始任务的泳道中,在以后的代码中可以通过processInstance.getTaskMgmtInstance().getSwimlaneInstance(“swimlaneName”).getActorId()获取到发起者。 本文来源:http://blog.csdn.net/napoleonsame/archive/2007/06/19/1658551.aspx
|
||||||
| 文章录入:admin 责任编辑:admin | ||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|