2016-09-28 103 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