【发布时间】:2014-07-07 05:56:51
【问题描述】:
我在我的项目中使用 Apache commons SCXML 来维护状态机。一旦执行到定义调用程序的状态的转换,我们就使用调用程序执行一些活动。
从同一状态调用调用程序两次时出现问题。例如,从状态“A” 事件“TEMP”被触发,然后它移动到状态“B”。一旦进入状态“B”,调用者就会被调用,并且调用者类的回调方法invoke()。
<state id="A">
<transition event="TEMP" target="B"></transition>
</state>
<state id="B">
<invoke src="INVOKER" targettype="invoker-req">
<transition event="FAIL" target="A"></transition>
<transition event="SUCC" target="C"></transition>
</invoke>
</state>
当从状态 A 再次触发事件“TEMP”并且没有调用 Invoker 时,问题就来了。 invoke() 方法不再被调用。调用者只能调用一次吗?
请让我知道如何再次调用调用者/invoke()。我在互联网上没有得到太多帮助。
提前致谢。
【问题讨论】:
标签: java scxml apache-commons-scxml