【问题标题】:JBPM: Multiple transitions going out from a Task NodeJBPM:从任务节点发出的多个转换
【发布时间】:2009-01-30 01:26:43
【问题描述】:

在 JBPM 中,我可以(技术上)从任务节点发出多个转换吗?

如果是,这是一个好习惯吗?

任何帮助都会很有用。

【问题讨论】:

    标签: java jboss workflow jbpm jboss-tools


    【解决方案1】:

    这是可能的,但是如果你通过 callign token.signal() 或 taskInstance.end() 传播你的进程的执行,则选择的转换将是第一个(在 .xml 文件中),无论有什么条件关于那个过渡。如果该条件评估为假,则会抛出异常。

    只有开箱即用的决策节点支持通过评估条件来选择转换,并且将选择条件评估为真的第一个转换(或者如果没有条件评估为真,则选择第一个)。

    但是编写自定义动作处理程序以手动传播执行 (token.signal("transitionname")) 并选择正确的转换 (tm) 非常简单。

    对不起我的英语。

    【讨论】:

      【解决方案2】:

      是的,这是可能的。

      为什么不呢。一个过程有两种方式,你不能定义算法方式来选择一个。

      【讨论】:

        【解决方案3】:

        我认为他想要的是 Fork, Fork 是一种节点类型,可以帮助您进行多次转换,更有可能是多流,这种方式最好的例子是 MC Donald 的,如果您购买任何东西,他们会在您付款的同时进行,所以当您像“加入”一样完成您的付款,以便交付,您可以高兴与否。

        如果这是问题的重点,请转到“Fork”和“Join”,您可以在 JBPM 文档中轻松找到答案

        【讨论】:

          【解决方案4】:

          你必须在任务节点之后使用一个 fork 节点。

          【讨论】:

            【解决方案5】:

            在 BPM 中有一种可能性。任务可以有两个或多个事务,用户可以选择一个、两个或多个事务(或所有事务)。

            但是我不知道如何在 jBPM 中实现这个...

            【讨论】:

              【解决方案6】:

              是的,jBPM 中的一个任务节点可以有多个传出连接,但总的来说,我建议不要将此作为建模最佳实践。原因是通过使用来自一个任务节点的多个传出连接,您隐藏了(在这种情况下是隐式的)网关行为,使其在进程中不可见。

              请注意,如果您想为任务使用多个传出连接,则必须将 jbpm.enable.multi.con 属性设置为 true,否则引擎会将其标记为无效。

              【讨论】:

                【解决方案7】:

                是的,你可以。 我们可以利用 jbpm 提供的 FORK-JOIN 功能。 你可以使用这个链接https://docs.jboss.org/jbpm/v3/userguide/processmodelling.html

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2014-04-09
                  • 2017-06-26
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多