我们有一个使用JBPM编写业务逻辑的应用程序。
在processdefinition.xml文件之一中,有:
<node name="my process">
<action class="...SomeAction"></action>
<transition name="ok" to="some decision"></transition>
</node>
<decision name="some decision">
<handler
class="...SomeDecision">
</handler>
<transition name="nok" to="NOK"></transition>
<transition name="ok" to="some state"></transition>
</decision>
<state name="some state">
<event type="node-enter">
<action name="Action A"
class="...A">
</action>
<action name="Action B"
class="...B">
</action>
</event>
<event type="node-leave">
<action name="Action C"
class="...C">
</action>
<action name="Action D"
class="...D">
</action>
</event>
<transition name="next state" to="some next state"></transition>
</state>
执行将继续正常进行,直到“动作B”处于“某种状态”,但是动作(动作C和动作D)从未在节点离开动作中执行。
任何人都可以让我知道为什么放弃没有任何错误的流程吗?
日志中的错误(不确定是否相关):
org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog-缩小类org.jbpm.graph.node.State的代理-此操作中断==
此外,我想了解这种情况下“节点”和“状态”之间的区别。
预先感谢:)