У нас есть приложение, в котором бизнес-логика написана с использованием 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 - эта операция прерывается ==
Кроме того, я хотел бы понять разницу между «узлом» и «состоянием» в этом контексте.
Заранее спасибо:)