当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

[JBPM3.2]TaskNode的signal属性详解

发表于: 2010-03-22   作者:dinguangx   来源:转载   浏览:
摘要:     TaskNode节点的signal属性决定了任务完成时对流程执行继续的影响,共有六种取值:unsynchronized,never,first,first-wait,last,last-wait。默认的取值是last。     (1)signal="unsynchronized"流程不在当前结点停留,而直接推
    TaskNode节点的signal属性决定了任务完成时对流程执行继续的影响,共有六种取值:unsynchronized,never,first,first-wait,last,last-wait。默认的取值是last。
    (1)signal="unsynchronized"流程不在当前结点停留,而直接推进到下一结点
    (2)signal="never"任务结束时,流程结点依然停留在本结点,直到你手动地调用token.signal()才会继续向下执行
    (3)signal="first"如果在当前结点创建了多个任务,第一个任务完成之后,流程就会走到下一个结点。
    (4)signal="first-wait"当前结点没有任务被创建时,会一直等待,当有任务被创建之后,它的作用就同signal="first"一样了。不管创建多少个任务,只要第1个任务完成,就会执行到下一结点。
    (5)signal="last"这个是默认的。如果在当前结点创建了多个任务,会一直等到最后一个任务完成时,流程才会到下一结点。
    (6)signal="last-wait"当前结点没有任务被创建时,会一直等待;当有任务被创建后,它的作用就同signal="last"一样了。
    由于TaskNode默认是会自动创建任务的,所以last-wait和first-wait通常都会与createTasks='false'一起使用,当有需要的时候,可以手动地创建任务,否则就没有等待的必要了。另外,需要说明的是,如果在TaskNode结点中的任务没有指定任务处理人,默认情况下,JBPM不会为流程创建任务,会自动执行到下一结点,所以在很多业务中,比如动态会签,或者在流程执行到某一结点之后多次对任务结点添加新任务,就会需要JBPM在此结点等待。last-wait与first-wait也正是用来处理这种较复杂的情况的。

[JBPM3.2]TaskNode的signal属性详解

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号