openGionopenGion
5.7.2.0

org.opengion.hayabusa.common
クラス SystemManager

java.lang.Object
  上位を拡張 org.opengion.hayabusa.common.SystemManager

public final class SystemManager
extends java.lang.Object

Webアプリケーション全体で使用しているオブジェクト類のトータルの管理クラスです。 SystemManager は、 session オブジェクトの管理とアクセス/開放 の作業を行います。 上記のクラス(staticメソッド)へのアクセスは、もちろん直接呼び出して 操作することも可能ですが、サーバーのクリーンシャットダウン時やセッションの 開放時、初期化処理など、ある種の統合的なトリガを受けて、関係するクラスに イベントを伝えるようにすることで、Webアプリケーションサーバーとのやり取りを 一元管理する目的で作成されています。

機能分類
初期化
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

メソッドの概要
static void addCleanable(Cleanable obj)
          初期化したいオブジェクトを登録します。
static void addCleanable(Cleanable obj, boolean flag)
          初期化したいオブジェクトを登録します。
static void addSession(javax.servlet.http.HttpSession session)
          session を記録します。
static void allClear(boolean flag)
          addCleanable( final Cleanable ) で登録したすべてのオブジェクトを初期化します。
protected static void clearGE12()
          GE12からCONTXT PATHをhost:port/context/で登録している物を削除します。
protected static void deleteGUIAccessInfo()
          アクセス統計テーブル(GE15)の再編成を行います。
static int getRunningCount()
          システムにログイン中の、すべてのセッション数を、取得します。
static UserSummary[] getRunningUserSummary(java.lang.String key, boolean direction)
          すべてのシステムにログイン中のUserSummary オブジェクトを取得します。
static void removeSession(javax.servlet.http.HttpSession session)
          session を削除します。
(package private) static void sessionDestroyed()
          contextDestroyed 時に、すべてのセッションを、invalidate()します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

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セッション
変更履歴:
5.5.9.1 (2012/12/07) セッション作成時に、規定のキーでセッションIDを保存しておく。

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セッション
変更履歴:
5.5.9.1 (2012/12/07) セッション作成時に登録した規定のキーで userInfo を削除します。
5.6.6.0 (2013/07/05) セッションの Attribute に SESSION_KEY で登録している sessionID も削除します。

getRunningUserSummary

public static UserSummary[] getRunningUserSummary(java.lang.String key,
                                                  boolean direction)
すべてのシステムにログイン中のUserSummary オブジェクトを取得します。 キーは、UserSummary の Attribute も含めた値が使用できます。 引数のキーは、内部で大文字に変換されたのち、内部キーとして使用されます。

パラメータ:
key - ソートするキー項目を指定
direction - ソートする方向[true:昇順/false:降順]
戻り値:
ログイン中のオブジェクト
変更履歴:
4.0.0.0 (2005/01/31) 内部ロジック大幅変更
5.6.6.0 (2013/07/05) Comparator の作り方を、簡素化します。キーの指定範囲も増やします。

getRunningCount

public static int getRunningCount()
システムにログイン中の、すべてのセッション数を、取得します。 ちなみに、不正なデータが存在した場合は、ここでMapから削除しておきます。

戻り値:
ログイン中の有効なすべてのセッション数
変更履歴:
4.0.0.0 (2005/01/31) 新規作成

sessionDestroyed

static void sessionDestroyed()
contextDestroyed 時に、すべてのセッションを、invalidate()します。 永続化セッション(SESSIONS.ser)対策 注意:キャッシュで内部管理していたセッションが、すべて無効化されてしまいます。 よって、内部にセッションを管理しなくなったため、invalidate() もできません。 不具合が出るかもしれません。

変更履歴:
3.5.2.1 (2003/10/27) 新規作成
4.0.0.0 (2005/01/31) セッション ⇒ UserSummary に変更

addCleanable

public static void addCleanable(Cleanable obj)
初期化したいオブジェクトを登録します。 オブジェクトは、Cleanable インターフェースを実装しておく必要があります。 実際に、clear() する場合は、ここで登録した全てのオブジェクトの clear() メソッドが呼び出されます。

パラメータ:
obj - インターフェースの実装
変更履歴:
4.0.0.0 (2005/01/31) 新規作成
4.3.6.2 (2009/04/15) コンテキスト終了時のみのclear()対応

addCleanable

public static void addCleanable(Cleanable obj,
                                boolean flag)
初期化したいオブジェクトを登録します。 オブジェクトは、Cleanable インターフェースを実装しておく必要があります。 実際に、clear() する場合は、ここで登録した全てのオブジェクトの clear() メソッドが呼び出されます。

パラメータ:
obj - インターフェースの実装
flag - trueの場合、コンテキスト停止時のみclear()を呼び出す
変更履歴:
4.0.0.0 (2005/01/31) 新規作成
4.3.6.2 (2009/04/15) コンテキスト終了時のみのclear()対応

allClear

public static void allClear(boolean flag)
addCleanable( final Cleanable ) で登録したすべてのオブジェクトを初期化します。 処理は、Cleanable インターフェースの clear()メソッドを順次呼び出します。

パラメータ:
flag - 完全終了時に、true
変更履歴:
4.0.0.0 (2005/01/31) 新規作成
4.3.6.2 (2009/04/15) コンテキスト終了時のみのclear()対応

clearGE12

protected static void clearGE12()
GE12からCONTXT PATHをhost:port/context/で登録している物を削除します。 (web.xmlにTOMCAT_PORTを指定した場合に上記CONTEXT_PATHで登録されます)

変更履歴:
4.1.0.0 (2007/12/26) 新規作成
5.5.4.5 (2012/07/27) 初期起動時のDB接続先は、RESOURCE_DBID とする。

deleteGUIAccessInfo

protected static void deleteGUIAccessInfo()
アクセス統計テーブル(GE15)の再編成を行います。 データの保存期間については、システムリソースのACCESS_TOKEI_ALIVE_DAYSで指定します。 データの作成された日時を基準として、上記の期間よりも古いデータは、物理削除されます。 ACCESS_TOKEI_ALIVE_DAYSが指定されていない場合、データの削除は行われません。

変更履歴:
5.0.2.0 (2009/11/01) 新規作成
5.5.5.1 (2012/08/07) リソース系DBID 付け忘れ対策

openGion 5.7.2.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.