- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jdpl的使用
jdpl的使用
1.JPDL的流程定义元素
1)第一层:GraphElement
这个容易理解,因为在画流程定义时,每个拖拉的对象都是一个graph的元素。GraphElement有四个属性:
(1)processDefine 表示当前元素属于哪个流程定义
(2)events 表示可以接收哪些event
(3)name 名字
(4)exceptionHandlers 异常处理类集合(List)
2)第二层:node、processDefinition、Transition、Task
它们都继承自GraphElement
(1)processDefinition表示流程定义(implements NodeCollection),它有下面的属性:name、version、nodes、startState。nodes表示流程中所有的node,startState用于启动流程时找到首节点。
(2)Transition表示转移,它有三个属性:from(Node),to(Node),supportedEventTypes表示支持的event类型
(3)node表示节点,它有四个属性:leaving transitions、arriving transitions、action、superState。
(4)Task 定义任务
3)第三层:各种不同的node
它们都继承自node。 Decision、EndState、Fork、Join、Merge、Milestone、 InterleaveEnd、InterleaveStart、ProcessState、State。
2.jBPM的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)根据令牌的位置,流程的状态已经发生改变.
3.process definition
一个process definition代表了一个正式的业务流程,它以一个流程图为基础。这个流程图由许多node和transition组成。每个node在这个流程图里都有着各自特殊的类型,这些不同的类型决定了node在运行时的不同行为。一个process definition只有一个start state 。
4.token
一个token代表了一条执行路径,它包含了这条执行路径的当前的执行状态(current state)。
5.process instance
一个process instance(流程实例)即一个process definition(流程定义)的流程执行实例。一个process definition可以对应多个process instance。当一个process instance被创建的时候,一个主执行路径token同时被创建,这个token叫做root token,它指向流程定义的start state(processDefinition.getStartState()==token.getNode())。
6.signa
您可能关注的文档
最近下载
- 人教版化学必修第一册第一章 物质及其变化单元综合练习(解析版答案).doc VIP
- -比亚迪与长安汽车财务报表对比分析.docx VIP
- 安防监控系统测试方案.docx VIP
- 2024版良信低压产品选型手册(2024).pdf VIP
- 第10课 往事依依 课件(共24张ppt) 2025-2026学年统编版(2024)初中语文七年级上册.pptx VIP
- 2023年辅警招聘考试公安基础知识刑法及相关知识模拟试卷 .pdf VIP
- 软件开发和测试环境维护管理制度.docx VIP
- 生态主义景观设计.pptx VIP
- 一种低膨胀系数石英玻璃锭的生产方法及生产装置.pdf VIP
- 期末备考策略+专项训练 十三 课外阅读(三)写人记事类文章阅读-2023-2024学年五年级语文上册 统编版.docx VIP
文档评论(0)