問題タブ [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 - 複数のスレッドを同時に実行するためのスプリングステートマシン
別のスレッドで 20 の同時ユーザー処理オーダーがあります。スプリングステートマシンを使用して状態を維持するにはどうすればよいですか?
やっています:
しかし、それはどの順序ではなく、状態マシンを教えてくれます:
これには他のオプションがありますが、このオプションは各イベントには適していません。
java - @EnableStateMachineFactory を使用した @WithStateMachine
@StateMachineConfigEnums で @WithStateMachine を使用しようとしましたが、関数が呼び出されているのがわかりません。
私のコードは次のとおりです。
サポートされておらず、@WithStateMachine は @EnableStateMachine でのみ機能するという簡単な答えがあるかもしれません。または、おそらく私は何かが欠けています。
他のものは以下のように機能していますが、トランジションで定義されたアクション:
java - ステート マシンが一時停止する選択肢の誤った評価
ステート マシンは、choice ステート内の評価が false を返すと、次のステートに移動するのではなく、choice ステートで一時停止します。
以下のコード:
状態の定義:
トランジション/選択/アクション:
メインクラス:
以下は、キャプチャされた出力のサンプルです。
ワークアイテムの状態が init に変更されました
情報: 開始 S2 S1 終了 init S3 S1Choice S3Choice S2Choice / init /
s1選択で
ご覧のとおり、新しい状態「s2 選択」に移行する代わりに、状態「s1 選択」で失速します。
java - アクションから例外をスローすると、スプリングステートマシンは NullPointerException をスローします
StateMachineConfigurerAdapter で定義されたカスタム アクションから例外をスローすると、それ以降のステート マシンへの呼び出しは null currentState を取得するため、NPE をスローします。
ステートマシンへの私の呼び出しは次のとおりです。
スタックトレースは次のとおりです。
その理由は、currentState が null になるため、this.currentState.getIds() が NPE をスローしているためです。
AbstractStateMachine にコードの問題があるようです
前の行はすべて currentState != null 条件を処理しているため、最後の行は処理していません。通常は不要な currentState を明示的に渡すことで、この例外をスキップできます。しかし、 currentState を与えた後でも、persistStateChangeListener の onPersist() メソッドを呼び出していない場合
state-machine - ステート マシンでイベント エラーが発生するとどうなりますか?
新しいプロジェクトを開始したばかりです。プロジェクトを開始した人は、それがステート マシン アプリケーションであることを認識していませんでした。それらの状態を見た後、イベントの失敗はどうなるのだろうと思っています。このオンライン ショッピング アプリケーションのステート マシンのサンプルを見てみましょう。配送イベントまたは支払い受領イベントが失敗した場合はどうなるでしょうか。放棄、失敗、または再試行は状態の一部ですか?
spring - Springステートマシンにデータを保存していますか?
マルチプレイヤークイズのようなゲームを作っています。スプリング ステート マシンを使用して、サーバー上のゲームの個々のインスタンスをモデル化することにしました@EnableStateMachineFactory
。ただし、ステート マシンのすべてのインスタンスに追加のゲーム データ/ステート情報が必要であり、ステート マシンのスタートアップ時にカスタム スタートアップ データ (プレイヤーのユーザー名など) を使用してそのデータを初期化する必要があります。ExtendedState
そのようなものを対象としており、ファクトリーでステートマシンを作成するときにカスタムの初期拡張ステートデータを送信する方法は?
java - Spring ステート マシンのエラー処理が機能しない
エラー処理のすべてのセットアップを行いました
エラーを処理するインターセプターを作成しました:
しかし、アクションから例外をスローするときに、呼び出しが OrderStateMachineFunction に入ることはわかりません。
その後、ステート マシンは、this.stateMachine.sendEvent(eventData); の後で preStateChange メソッドの呼び出しを停止するなど、有線の方法で動作します。アクションから例外をスローした後、ステート マシンが壊れているようです。
少し試してみたところ、resetStateMachine にコメントすると期待どおりに動作することがわかりましたが、それがないと currentstate をステート マシンに通知できません。