JBPM:从任务节点发出的多个转换

时间:2009-01-30 01:26:44

标签: java jboss workflow jbpm jboss-tools

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

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

任何帮助都会有用。

7 个答案:

答案 0 :(得分:1)

这是可能的,但是如果你通过callign token.signal()或taskInstance.end()传播你的进程,那么转换选择将是第一个(在.xml文件中),无论条件是什么在那个转变。如果该条件的计算结果为false,则抛出异常。

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

但是编写自定义动作处理程序非常简单,它可以手动传播执行(token.signal(“transitionname”)),并选择Right transition(tm)。

抱歉我的英文。

答案 1 :(得分:0)

是的,这是可能的。

为什么不呢。您有两种方法可以选择一种方法,而无法定义算法方式。

答案 2 :(得分:0)

我觉得他想要的是福克, Fork是一种节点,可以帮助你进行多次转换,更有可能是多流量,最好的例子就是MC唐纳德,如果你在购买的同时购买任何东西,那么当你付款时完成付款,你就像一个'加入',所以它交付,你可以快乐与否。

如果这是问题,请转到'Fork'和'Join',您可以在JBPM Docs中轻松找到答案

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

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

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

答案 6 :(得分:0)

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