我有一个要求,我必须设计一个通过 xml 控制代码执行流的设计。它是一种状态机,我必须在状态之间移动。大约 5 年前,我在 JBPM 4 上使用了 JPDL xml。但看起来 JPDL 在最新的 JBPM 版本中不再可用。
基本上我想要下面的东西,(只是基于JPDL建模)
<start-state name="request a purchase">
<transition to="evaluating"/>
</start-state>
<state name="evaluating"> <!-- Invokes a Java Class and based on the output make transition to next state-->
<transition name="approve" to="purchase approved"/>
<transition name="disapprove" to="done"/>
</state>
<fork name="purchase approved">
<transition to="decrement inventory" />
<transition to="increment revenue" />
</fork>
.
.
.
<end-state name="done" />
以上可以使用 JBPM 和 JPDL 轻松完成,但在最新的 JBPM 中,如果没有 JPDL,我不知道该怎么做。状态之间的转换基于 Java 类输出(如示例中的“评估”状态),Java 类将与外部系统交互。不涉及用户交互。
我需要控制来自 XML 的调用流程,因为它使我们能够在不接触 java 代码的情况下为每个场景进行大量定制。我已经通过了 Activiti 和 Spring web flow,但仍然不太清楚上面是否可以实现。
您能否为上述要求提出一些合适的框架?