软件工程

本类阅读TOP10

·PHP4 + MYSQL + APACHE 在 WIN 系统下的安装、配置
·Linux 入门常用命令(1)
·Linux 入门常用命令(2)
·使用 DCPROMO/FORCEREMOVAL 命令强制将 Active Directory 域控制器降级
·DirectShow学习(八): CBaseRender类及相应Pin类的源代码分析
·基于ICE方式SIP信令穿透Symmetric NAT技术研究
·Windows 2003网络负载均衡的实现
·一网打尽Win十四种系统故障解决方法
·数百种 Windows 软件的免费替代品列表
·收藏---行百里半九十

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
jBPM的令牌/信令技术

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

jbpm中最重要的概念,应该是令牌(Token)和信令(Signal)技术,这个在计算机网络中到处可见
的技术,在工作流引擎中也大放异彩.

我们看如下代码:
//pd是process definition,pi是process instance
ProcessInstance pi = new ProcessInstance( pd );
//启动流程
pi.start();
//得到根令牌
Token token = pi.getRootToken();
//发信令
token.signal();

Token的signal方法也可以传入transition参数,这个方法把信令发送给Token,这样,令牌将被
激活,并沿指定的transition离开当前的状态(如果没有指定transition,将沿缺省的transition
离开当前状态).

jbpm是怎么实现的呢?其实很简单:
1)Token记录了当前的状态,只有当前的状态(或称节点)拥有该令牌
2)向TOKEN发signal后,当前状态收到该signal
3)当前状态把令牌传给signal中指定的transition
4)transition收到令牌后,不强占,马上把令牌传给下个状态.
5)根据令牌的位置,流程的状态已经发生改变.




相关文章

相关软件