私はSpring Statemachineをテストしています。特に、ステートマシンを使ってオブジェクトの状態を管理するのは面白いです。Spring Statemachineの永続性
私のStatemachineのタイプはStateMachine<EpisodeState, EpisodeEvent>
です。
ビジネスオブジェクトEpisode
には、EpisodeState
のenumプロパティ(state
)があり、これはエピソードのステートマシン状態を保持する必要があります。初期化時にStatemachineのインスタンスを取得するバッチプロセスがあります。
- ロードデータベースその
Episode
インスタンスであるEpisodeState
からステートマシンの現在の状態を設定し - から
Episode
:私は基本的な流れに従うことをしたいと思います。 - Statemachineにイベントを送信します。
- Statemachine(postイベント)から結果の状態を取得し、
EpisodeState
をEpisode
インスタンスに設定します。 Episode
インスタンスを保存します。
ドキュメントは私のテストでは空であるextendedState
プロパティを、言及が、私は、私は私のEpisode
の主キーを保持するために使用できると仮定し、任意のオブジェクトのマップをサポートしているようだが、私は途方に暮れていますステーママシンの現在の状態をEpisode
のEpisodeState
の値に設定する方法について説明します。
ステートマシンをStateMachineInterceptorAdapter<EpisodeState, EpisodeEvent>
に設定しました。前/後の状態変更、前/後の移行、およびpreEvent
の情報を見ることができます。あなたはこのようにそれを行うだろう、startingState
という変数に必要な最初の状態を持っていると仮定すると
: