問題タブ [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 - Spring State Machine は、uml で Choice 状態を定義します
私はSpring State Machineが初めてです。Enter link description here で説明されているように、UML モデリング ツール (Eclipse Papyrus) を使用してステート マシン構成を定義しまし た。ダイアグラムで状態とイベントとガードを定義しました。UML ダイアグラムで何らかの選択状態 (Choice 疑似状態) を定義したいのですが、それを行う方法がわかりません。私はあなたの頭脳を選ぶことができるかどうか本当に疑問に思っています。
spring-statemachine - ステート マシンでの再試行と最大試行回数
再試行と最大試行機能を構築するステート マシンを作成しようとしています。説明させてください、これまでのところ私はこれを持っています:
SAVED から VALIDATED に行きたいのですが、エラーがあれば AWAITING_VALIDATION 状態に行かなければなりません。3 分後、VALIDATED 状態に再試行します。
- 再試行メカニズムを正しく設定しましたか?
- 3回試行した後、SAVED状態に戻りたい(そしてステートマシンを一時停止したい)。ファンシーなwaty(たとえば、スプリングステートマシンを使用)でそれを行うことは可能ですか、それともある種のキャッシュを使用して手動で行う必要がありますか?
ご協力いただきありがとうございます
java - eventNotAccepted リスナーでの StateContext への Spring ステート マシン アクセス
私はSpring State Machineが初めてです。StateMachineListener
ステート マシンに を使用しました。メソッドでアクセスする方法を教えてStateContext
くださいeventNotAccepted
。
spring-statemachine - Spring State Machineでグローバルリソースを処理するには?
TCP クライアントに Spring State Machine を使用することを考えています。プロトコル自体は指定され、メッセージ ID と長さフィールドを持つ独自の TCP メッセージに基づいています。クライアントはサーバーへの TCP 接続をセットアップし、メッセージを送信し、次のメッセージを送信する前に常に応答を待ちます。各状態では、特定の応答のみが許可されます。複数のクライアントを並行して実行する必要があります。
ここで、Spring State マシンに関連する次の質問があります。
1) 切断から接続への最初の移行中に、クライアントは java.net.Socket を介して接続をセットアップします。このソケット (またはソケットから取得した DataOutputStream および BufferedReader オブジェクト) を他の遷移のアクションで使用できるようにするにはどうすればよいですか?
この意味で、ソケットはステート マシンのある種のグローバル リソースになります。これまでに見た唯一の方法は、メッセージヘッダーに入れることです。しかし、これはあまり自然に見えません。
2) Spring State Machine にはどのランタイム環境が必要ですか?
JVM で十分ですか、それとも Tomcat が必要ですか?
スレッドセーフですか?
ありがとう、ヴォルフガング
configuration - Spring StateMachine 構成 : @EnableSateMachineFactory 使用時の StateMachine の命名
StateMachine
を使用した動的インスタンス化のためのいくつかの構成を含めたいと思いますStateMachineFactory
。ただし、@EnableStateMachineFactory
注釈により、ファクトリに名前を付けることができます。各構成にどのように名前を付けますか (つまり、拡張しますEnumStateMachineConfigurerAdapter
)?
setMachineID
それ以外の場合は、可能であれば、構成定義内でメソッドを使用する方法の例があると便利です。
java - Spring State Machine - 何個作成すればよいですか?
API でリクエストを受け取ったら、一連のステップを実行したいと思います。それぞれがチェックまたはエンリッチメントです。各ステップは、成功または失敗する可能性があります。成功したら、次のステップを実行する必要があります。失敗すると、終了ステップが実行され、フローが完了します。そのために、私はSpring State Machineを検討しました.それは法案に合っているようです.
ドキュメントを読んで遊んでみましたが、いくつかのことがわかりません:
リクエストとステート マシンの間に 1 対 1 の関係が必要ですか。つまり、リクエストごとに新しいステート マシン インスタンスを作成する必要がありますか? または、次の要求のためにマシンをリセットして、完成したステート マシンを再利用する必要がありますか?
完成したステートマシンのクリーンアップはどうですか? State Machine インスタンスを破棄してクリーンアップする方法はないようです。リクエストごとに 1 つ作成すると、フレームワークが何らかの方法でリソースを処理しない限り、実質的にメモリ リークが発生します。