クラス SystemManager
- java.lang.Object
-
- org.opengion.hayabusa.common.SystemManager
-
public final class SystemManager extends Object
Webアプリケーション全体で使用しているオブジェクト類のトータルの管理クラスです。 SystemManager は、 session オブジェクトの管理とアクセス/開放 の作業を行います。 上記のクラス(staticメソッド)へのアクセスは、もちろん直接呼び出して 操作することも可能ですが、サーバーのクリーンシャットダウン時やセッションの 開放時、初期化処理など、ある種の統合的なトリガを受けて、関係するクラスに イベントを伝えるようにすることで、Webアプリケーションサーバーとのやり取りを 一元管理する目的で作成されています。- 導入されたバージョン:
- JDK5.0,
-
-
メソッドの概要
すべてのメソッド staticメソッド concreteメソッド 修飾子とタイプ メソッド 説明 static voidaddCleanable(Cleanable obj)初期化したいオブジェクトを登録します。static voidaddCleanable(Cleanable obj, boolean flag)初期化したいオブジェクトを登録します。static voidaddSession(javax.servlet.http.HttpSession session)session を記録します。static voidallClear(boolean flag)addCleanable( final Cleanable ) で登録したすべてのオブジェクトを初期化します。(package private) static voidclearGE12()GE12からCONTXT PATHをhost:port/context/で登録している物を削除します。(package private) static voiddeleteGUIAccessInfo()アクセス統計テーブル(GE15)の再編成を行います。static intgetRunningCount()システムにログイン中の、すべてのセッション数を、取得します。static UserSummary[]getRunningUserSummary(String key, boolean direction)すべてのシステムにログイン中のUserSummary オブジェクトを取得します。static voidremoveSession(javax.servlet.http.HttpSession session)session を削除します。(package private) static voidsessionDestroyed()contextDestroyed 時に、すべてのセッションを、invalidate()します。
-
-
-
メソッドの詳細
-
addSession
public static void addSession(javax.servlet.http.HttpSession session)
session を記録します。 管理者権限で、強制ログアウトさせる場合などに、使用します。 Servlet 2.1 では、HttpSessio#getSessionContext() より取り出した HttpSessionContextのgetSession(java.lang.String sessionId) で すべての session を取り出せましたが,Deprecated になりました。 セキュリティー上、好ましくない処理ですので,注意して使用してください。 common\session_init.jsp より登録します- パラメータ:
session- Httpセッション
-
removeSession
public static void removeSession(javax.servlet.http.HttpSession session)
session を削除します。 管理者権限で、強制ログアウトさせる場合などに、使用します。 Servlet 2.1 では、HttpSessio#getSessionContext() より取り出した HttpSessionContextのgetSession(java.lang.String sessionId) で すべての session を取り出せましたが,Deprecated になりました。 セキュリティー上、好ましくない処理ですので,注意して使用してください。- パラメータ:
session- Httpセッション
-
getRunningUserSummary
public static UserSummary[] getRunningUserSummary(String key, boolean direction)
すべてのシステムにログイン中のUserSummary オブジェクトを取得します。 キーは、UserSummary の Attribute も含めた値が使用できます。 引数のキーは、内部で大文字に変換されたのち、内部キーとして使用されます。- パラメータ:
key- ソートするキー項目を指定direction- ソートする方向[true:昇順/false:降順]- 戻り値:
- ログイン中のオブジェクト
-
getRunningCount
public static int getRunningCount()
システムにログイン中の、すべてのセッション数を、取得します。 ちなみに、不正なデータが存在した場合は、ここでMapから削除しておきます。 ※ ConcurrentHashMap に変更したため、不正なデータ(ここでは、null データ)は、存在しない。- 戻り値:
- ログイン中の有効なすべてのセッション数
-
sessionDestroyed
static void sessionDestroyed()
contextDestroyed 時に、すべてのセッションを、invalidate()します。 注意:キャッシュで内部管理していたセッションが、すべて無効化されてしまいます。 よって、内部にセッションを管理しなくなったため、invalidate() もできません。 不具合が出るかもしれません。- 関連項目:
HybsContextListener
-
addCleanable
public static void addCleanable(Cleanable obj)
初期化したいオブジェクトを登録します。 オブジェクトは、Cleanable インターフェースを実装しておく必要があります。 実際に、clear() する場合は、ここで登録した全てのオブジェクトの clear() メソッドが呼び出されます。- パラメータ:
obj- インターフェースの実装
-
addCleanable
public static void addCleanable(Cleanable obj, boolean flag)
初期化したいオブジェクトを登録します。 オブジェクトは、Cleanable インターフェースを実装しておく必要があります。 実際に、clear() する場合は、ここで登録した全てのオブジェクトの clear() メソッドが呼び出されます。- パラメータ:
obj- インターフェースの実装flag- trueの場合、コンテキスト停止時のみclear()を呼び出す
-
allClear
public static void allClear(boolean flag)
addCleanable( final Cleanable ) で登録したすべてのオブジェクトを初期化します。 処理は、Cleanable インターフェースの clear()メソッドを順次呼び出します。- パラメータ:
flag- 完全終了時に、true
-
clearGE12
static void clearGE12()
GE12からCONTXT PATHをhost:port/context/で登録している物を削除します。 (web.xmlにTOMCAT_PORTを指定した場合に上記CONTEXT_PATHで登録されます)- 関連項目:
HybsContextListener
-
deleteGUIAccessInfo
static void deleteGUIAccessInfo()
アクセス統計テーブル(GE15)の再編成を行います。 データの保存期間については、システムリソースのACCESS_TOKEI_ALIVE_DAYSで指定します。 データの作成された日時を基準として、上記の期間よりも古いデータは、物理削除されます。 ACCESS_TOKEI_ALIVE_DAYSが指定されていない場合、データの削除は行われません。- 関連項目:
HybsContextListener
-
-