jbpm的Token,node

原创 2006年05月18日 10:40:00

Token

jbpm中最重要的概念,应该是令牌(Token)和信令(Signal)

在整个流程实例运行过程中,我们可以迅速的利用token得到其当前的current state。在解决“并行”等(比如Fork)问题时,jBpm让Token对象维护了父子关系,这种关系在涉及到Fork的时候会产生。 jBpm让Token这个对象身兼了多种使命:(1)快速定位current state (2)用于fork,join算法 (3)用于告知任务执行者的任务索引。

如下代码:

//pd是process definition,pi是process instance ProcessInstance

pi = new ProcessInstance( pd );

//得到根令牌

Token token = pi.getRootToken();

//发信令

token.signal();

Token的signal方法也可以传入transition参数,这个方法把信令发送给Token,这样,令牌将被激活,并沿指定的transition离开当前的状态(如果没有指定transition,将沿缺省的transition 离开当前状态).

jbpm是怎么实现的呢?其实很简单:

1)Token记录了当前的状态(current state),只有当前的状态(或称节点)拥有该令牌

2)向TOKEN发signal后,当前状态收到该signal

3)当前状态把令牌传给signal中指定的transition

4)transition收到令牌后,不强占,马上把令牌传给下个状态.

5)根据令牌的位置,流程的状态已经发生改变.

 

node

 

一个流程图由许多node和transition组成。每个node都有一种类型,这个类型决定了当流程执行到这个node时的不同行为。jbpm有一组node type可以供你选择,当然你可以定制自己node 。
node的作用
node有两个主要的作用:
1)执行java代码,比如说创建task instance(任务实例)、发出通知、更新数据库等等。很典型的就是在node 上挂上我们的action
2) 控制流程的执行:
A、等待状态
流程进入到这个node时将处于等待状态,直到一个signal 的发出
B、流程将沿着一个leaving transition越过这个node
这种情况特殊一点,需要有个action挂在这个node上(注意这个action不是event触发的!),action中将会调用到API里
executionContext.leaveNode(String transitionName),transitionName即这里的leaving transition名字。
C、创建新的执行路径
很典型的就是fork node。流程在这里会分叉,产生新的执行路径。这样就创建了新的token,每个新的token代表一个新的执行路径。注意的是,这些新的token和产生前的token是父子关系!
D、结束执行路径
一个node可以结束一条执行路径,这同样意味着相应的token的结束和流程的结束。

jbpm的Token,node

Tokenjbpm中最重要的概念,应该是令牌(Token)和信令(Signal) 在整个流程实例运行过程中,我们可以迅速的利用token得到其当前的current state。在解决“并行...
  • phoebus2006
  • phoebus2006
  • 2006年08月27日 01:01
  • 949

jBPM的token(令牌)

jBPM的token(令牌)jbpm中最重要的概念,应该是令牌(Token)和信令(Signal)。在整个流程实例运行过程中,我们可以迅速的利用token得到其当前的current state。在解决...
  • tuwen
  • tuwen
  • 2007年09月26日 13:54
  • 1952

jbpm——task-node节点的signal属性研究

 task-node (任务节点)其性质和node节点一样,在没有task的时候,也都是自动执行,不等待。task-node被归类为一个等待节点,是指在task-node中的task列表中的task没...
  • sniperit8
  • sniperit8
  • 2008年01月29日 11:57
  • 4539

jbpm知识点——tasknode

同fork等一样是一种节点类型。任务节点是jbpm中一个非常重要的概念,一个任务节点可以包含若干个任务(开始状态start-state只能有一个任务),不同的任务可以由不同的人来完成,任务实例被分配给...
  • jeffen2006
  • jeffen2006
  • 2006年10月19日 14:17
  • 1553

jbpm知识点——node

node节点类型适用于当你想要在节点中编写自己的代码的情形。通过设置action来帮定我们自己的商业逻辑。                    HELLO               -------...
  • jeffen2006
  • jeffen2006
  • 2006年10月16日 10:15
  • 918

node.js微信公众平台开发之Token验证

进行微信公众平台的开发,进行token验证是第一步,如下图所示。url填写自己的服务器地址。Token这里可以自定义,但是要和代码中的Token保持一致。 node.js代码如下: var...
  • yy64578537
  • yy64578537
  • 2017年04月10日 16:21
  • 1214

Token(Jbpm)

jbpm中最重要的概念,应该是令牌(Token)和信令(Signal)技术,这个在计算机网络中到处可见的技术,在工作流引擎中也大放异彩.我们看如下代码://pd是process definition,...
  • jonim
  • jonim
  • 2006年10月11日 16:12
  • 1685

用 node 实现仿微信风格的 token 获取接口

流程图依赖项"dependencies": { "express": "^4.12.3", "jsonwebtoken": "^5.0.0", "mongoose": "^4....
  • qcpm1983
  • qcpm1983
  • 2015年06月05日 10:22
  • 2189

2.Node.js access_token的获取、存储及更新

文章目录:         1.Node.js 接入微信公众平台开发 一、写在前面的话  上一篇文章中,我们使用 Node.js 成功的实现了接入微信公众平台功能。在这篇文章中,我们将实现微信公...
  • hvkCoder
  • hvkCoder
  • 2017年05月27日 18:11
  • 1631

NodeJs使用json web token验证REST服务

做了这么长时间的web开发,从JAVA EE中的jsf,spring,hibernate框架,到spring web MVC,到用php框架thinkPHP,到现在的nodejs,我自己的看法是越来越...
  • offbye
  • offbye
  • 2015年08月13日 19:39
  • 9079
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:jbpm的Token,node
举报原因:
原因补充:

(最多只允许输入30个字)