我有一个要求,我必须提供一种设计来通过xml控制代码执行流程。这是一种状态机,我必须在状态之间移动。
我在JBPM 4上使用了JPDL xml,大约5年之前。但是看起来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可以轻松完成上述操作,但是在没有JPDL的最新JBPM中,我不确定如何执行此操作。
状态之间的转换基于Java类输出(例如示例中的“评估”状态),并且Java类将与外部系统进行交互。
不涉及用户交互。

我需要控制来自XML的调用流程,因为它将使我们能够在不触摸Java代码的情况下针对每种情况进行大量的定制。
我已经经历了Activiti和Spring的网络流程,但是仍然不清楚是否可以用以上方法实现上述目标。

您能为上述要求提供一些合适的框架吗?

最佳答案

jBPM现在使用BPMN2规范而不是它自己的专有语言来定义流程。您是否考虑过阅读并使用该规范?

07-26 01:09