1

私は非常に単純な質問を持っています:SESSIONスコープ付きBeanを私のアプリケーションであるSTATELESSに持っているとどうなりますか?アプリケーションがステートレスである場合のセッションBean

ロングストーリー。私はAngularJSで書かれたフロントエンドのためにREST APIを提供するSpring Bootで書かれたバックエンドアプリケーションを持っています。私は認証プロセスにJWTを使用しており、Spring SecurityはSTATELESSに設定されています。 SharePointと通信するにはWebServiceTemplateも使用しています。 SOAP APIとの通信を担当する私の豆は、ユーザーの資格情報に依存するため、SESSIONスコープのBeanです。 WebServiceTemplateがすべての呼び出しで異なる資格情報を使用するように構成するのは非常に難しいので、作成時に構成して問題が発生したと判断しました。

答えて

0

セッションスコープBeanにある状態を保存すると、アプリケーションはステートフルになります。

あなたが要求して(例えばので、あなたのアプリケーションのクラスタリングの)ステートレスなアプリケーションを持っているしたいの間(この場合、SOAPサービスの資格情報で)状態を共有する必要がある場合、あなたはいくつかのオプションがあります。状態

  1. ストアDBに格納し、必要に応じてキャッシュします。 (SOAP呼び出しが失敗した場合は、キャッシュを無効にしてDBから新しい資格情報を読み取ることができます)
  2. Spring Session projectまたは一部のキー値ストアを使用してセッション状態を保存します。
+0

ありがとうございました。私は2番目の解決策をとるつもりです。 WebServiceMessageSenderオブジェクトのシリアライズに問題があります。このオブジェクトはWebServiceTemplateのユーザー資格情報を格納しますが、それ自体はSerializableではありません。 –

関連する問題