2016-09-28 100 views
0

首先,我不太确定我的情况是否适合使用弹簧状态机。如何更改状态机中的目标状态

我这里还有我的情况下:

我有一个大的可变对象和一组逻辑单元,这将在一定的顺序操作此可变对象。

对于一个正常的流程:A.exec - > B.exec - > C.exec - >完成

对于坏流动这一例外从A抛出:A - >错误 - >完成(B和C被旁路)

对于坏流动这一例外从乙抛出:A - >乙 - >另一流

我想A,B,C可以被建模为状态,而一个动作可以被用于执行真正的biz逻辑当从A过渡到B.

如何从A捕获可能抛出的异常将目标改为另一个状态而不是B?

感谢

莱昂

回答

0

我会使用junctionchoice并定义警卫传出过渡。在gh240中讨论的内容。然后,您可以捕捉您的例外情况,即将商店保存在延期状态,然后从保安人员处免费评估不同情况。

选择几乎是if/elseif/else结构来定义哪个分支机器将遵循转换。

也有deploy sample它是用相同的概念建模。

+0

酷!非常感谢!我会检查一下这个例子。 – anuni