科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件对箫杉《强制结束令牌(token)引发的问题》的思考

对箫杉《强制结束令牌(token)引发的问题》的思考

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

对箫杉《强制结束令牌(token)引发的问题》的思考

作者:jeffen 来源: CSDN 2007年12月23日

关键字: 问题 引发 令牌 结束 强制

  • 评论
  • 分享微博
  • 分享邮件
箫同学的原文见http://blog.csdn.net/mrshan/archive/2006/09/05/1181001.aspx

文中所说的情况我举一个我们这开发中的例子看看恰当不恰当:业务都有收费的环节,收费有2种方式——银行托收和前台缴现金,按照文中的描述原来的流程定义是:

<start-state name="start">
    
<transition name="" to="chargeinit"/>
</start-state>
<fork name="chargeinit">
    
<transition name="bank" to="bank"/>
    
<transition name="cash" to="cash"/>
</fork>
<task-node name="bank">
    
<transition name="bankend" to="chargeend"/>
</task-node>
<task-node name="cash">
    
<transition name="cashend" to="chargeend"/>
</task-node>
<join name="chargeend">
    
<transition to="end"/>
</join>
<end-state name="end"/>

 

而我想这种情况其实应该抽象一下,其实都是收费只不过方式不同,如果采用task-node一个节点,用不同的task来表示不同的收费方式,将signal属性设置为first,则只要有一个任务完成了流程就会继续,这应该是jbpm对这种问题的解决办法吧。

<start-state name="start">
    
<transition name="" to="charge"/>
</start-state>
<task-node name="charge" signal="first">
    
<task name="bank" swimlane="banker"/>
    
<task name="cash" swimlane="casher"/>
    
<transition name="" to="end"/>
</task-node>
<end-state name="end"/>

经过测试,无论完成哪一个任务bank或cash,流程都会进行下去到达end。

至于另一个任务的后续是否有问题,还没有仔细的分析过,等以后吧。

 

查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章