現在、モジュールが単一の.EARファイル(それぞれに.WARとEJB .JARを含む)としてデプロイされる大きなアプリケーションを開発しています。
GlassFish 3.1では、JAASを使用してシングルサインオンになるようにアプリケーションを構成します。したがって、SSOセッションが有効である間、すべてのWebモジュールセッションを有効にしておく必要があります。
例としては、モジュールA
がB
ありC
、10分間のセッションでデプロイされます。ユーザーはを使用してサインオンしA
、に移動しB
てC
、に移動し、に20分を費やすことができます(想定します)C
。
アイデアは、ユーザーがのみを使用している間、およびC
で彼のセッション(管理対象Beanを含む)を存続させる必要があるということです。A
B
これを達成するために何が役立つでしょうか?各モジュールにサーブレットを作成してセッションにアクセスし(したがって、セッションを存続させて)、ユーザーが使用しているモジュールからそれらのサーブレットに非同期(一方向である可能性がありますか?)要求を送信するというアイデアがありますが、ユーザーが何かをするたびに(TCP経由で)HTTP接続を開きます。ここではポーリングが役立つかもしれませんが、この種の通信は避けたいと思います。
もう1つのアイデアは、共有メモリキャッシュとキャッシュリスナーを使用して他のセッションにアクセスし、セッションIDを使用してルックアップを実行することです。これはより良いパフォーマンスでトリックを行うことができますか?
別のアプリケーションサーバーを使用する場合を除いて、あらゆるアイデアを受け入れます(OpenSourceGlassFishを使用する必要があります。Coherence*Webは使用しないでください)。
お時間をいただきありがとうございます。