問題タブ [spring-statemachine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - スプリング ステート マシン - 実行時間の長いプロセスを管理する
長時間実行されるプロセスにスプリング ステート マシンを使用するためのアドバイスが必要です。流れをデザインしたい。次の状態があるとしましょう: Start->step1->step2->step3->finish。状態間の遷移を管理するために、状態マシンにイベントを送信できるコントローラーがあります。StateMachinePersister があります。StateMachineContext から byte[] へ、およびその逆へのコンバーターがあります。私のビジネス目標にぴったりです。したがって、すべてが正常に機能するはずです。
しかし、問題がありますか?フローを変更することを決定したときに、ケースを管理する方法がわかりません。つまり、一部のプロセスが「step2」状態で持続する実稼働環境がある場合です。しかし、私は流れを変えることを余儀なくされています。フローのステップを追加または削除したいとしましょう。ステート マシンのデシリアライズ中に問題が発生すると思います。
質問は次のとおりです。スプリングステートマシンは私には適していないのでしょうか、それともそのようなケースを管理する方法がいくつかありますか?
状態、遷移などを管理したいエンティティがあります。
特定のプロセスのstateMachineContextの初期化を担当するStateMachinePersist Beanがあります。
@Bean public StateMachinePersist> persist() { return new StateMachinePersist>() {
}
ステートマシンの永続化と復元を担当する StateMachineAdapter があります
StateMachineContext のシリアル化/逆シリアル化を担当する StateMachineContextConverter があります。この操作には Kryo を使用しました。
状態の切り替えを担当するコントローラーがあります