动作是在流程执行的事件上被执行的java代码片断。注意动作被放置在事件与被放置在节点之间的差异。放置在事件中的动作当事件激活时被执行,事件上的动作不能影响流程的控制流,放置在node上的动作则有传播流程执行的职责 。
我们将前一个专题(node)的例子作一点改动:
<start-state name="start">
<transition name="tr1" to="node1"></transition>
</start-state>
<node name="node1">
<event type="node-leave">
<action class="com.jeffentest.JeffenActionHandler">
<msg>HELLO</msg>
</action>
</event>
<transition name="tr2" to="end1"></transition>
</node>
<end-state name="end1"></end-state>
----------------------------------
运行结果:
StartState(start)
HELLOjeffen
EndState(end1)
Exception in thread "main" org.jbpm.JbpmException: couldn't signal token 'Token(/)' : node 'EndState(end1)' doesn't have a default transition
注意这里的异常,加了event,运行的步骤就不同了。对用工作流这种关键的开发还是谨慎点,多做测试。
本文介绍了在工作流中如何使用动作来扩展流程的功能。通过实例展示了放置在事件与节点上的动作的区别,强调了动作在控制流程执行中的作用,并指出在开发过程中进行充分测试的重要性。
3046

被折叠的 条评论
为什么被折叠?



