私は、SpringクライアントにSpring State Machineを使用することを考えています。プロトコル自体は、メッセージIDと長さフィールドを持つ独自のTCPメッセージに基づいています。クライアントは、サーバーへのTCP接続をセットアップし、メッセージを送信し、次のメッセージを送信する前に常に応答を待ちます。各状態では、特定の応答のみが許可されます。複数のクライアントを並行して実行する必要があります。Spring State Machineでグローバルリソースを処理する方法は?
ここで、Spring State Machineに関連する次の質問があります。
1)切断から接続への最初の移行中に、クライアントはjava.net.Socket経由で接続を設定します。このソケット(またはソケットから取得したDataOutputStreamオブジェクトとBufferedReaderオブジェクト)を他のトランジションのアクションで使用できるようにするにはどうすればよいですか?
この意味では、ソケットは状態マシンの何らかの種類のグローバルリソースです。これまで私が見てきた唯一の方法は、メッセージのヘッダーに入れることです。しかし、これは非常に自然に見えません。
2)Spring State Machineにはどのランタイム環境が必要ですか?
JVMが十分か、Tomcatが必要ですか?
スレッドセーフですか?
おかげで、ヴォルフガング
こんにちはJanne、ご返信ありがとうございます。実際、グローバルリソースに関しては、私はポーズ直後に拡張状態を使用するように切り替えました。それは期待どおりに動作します。おめでとう、ヴォルフガング – WolfgangB