org.seasar.framework.container.external
クラス RebuildableExternalContextMap
java.lang.Object
java.util.AbstractMap
org.seasar.framework.container.external.AbstractExternalContextMap
org.seasar.framework.container.external.RebuildableExternalContextMap
- すべての実装インタフェース:
- Map
- 直系の既知のサブクラス:
- HttpSessionMap, PortletApplicationMap, PortletSessionMap, ServletApplicationMap
- public abstract class RebuildableExternalContextMap
- extends AbstractExternalContextMap
HOT deploy時に値を再構築可能な外部コンテキスト
用の抽象Map
です。
HOT deploy中はリクエストごとにクラスが変わってしまうので、 セッションなどに入れたデータを別のリクエストで取り出すと
ClassCastException
が起きます。 これを防ぐために最新のクラスで元のオブジェクトを再作成します。
HOT deployは単一スレッドで実行されることが前提なので、このクラスはスレッドセーフではありません。
- 作成者:
- koichik
- 関連項目:
HotdeployUtil.rebuildValue(Object)
クラス org.seasar.framework.container.external.AbstractExternalContextMap から継承したメソッド |
clear, containsKey, containsValue, entrySet, getAttribute, getAttributeNames, isEmpty, keySet, remove, removeAttribute, setAttribute, values |
hotdeployClassLoader
protected static WeakReference hotdeployClassLoader
HotdeployClassLoader
rebuiltNames
protected static Set rebuiltNames
hotdeployClassLoader
の元で再構築したコンポーネント名のSet
RebuildableExternalContextMap
public RebuildableExternalContextMap()
get
public Object get(Object key)
- 定義:
- インタフェース
Map
内の get
- オーバーライド:
- クラス
AbstractExternalContextMap
内の get
put
public Object put(Object key,
Object value)
- 定義:
- インタフェース
Map
内の put
- オーバーライド:
- クラス
AbstractExternalContextMap
内の put
putAll
public void putAll(Map map)
- 定義:
- インタフェース
Map
内の putAll
- オーバーライド:
- クラス
AbstractExternalContextMap
内の putAll
isHotdeployMode
protected boolean isHotdeployMode()
- HOT deployモードの場合は
true
を返します。
HOT deployモードの場合で、HotdeployClassLoader
が前回のチェック以降に切り替わっていた場合は
保持しているリビルド済みオブジェクトの名前をクリアします。
- 戻り値:
- HOT deployモードの場合は
true
Copyright ? 2004-2007 The Seasar Foundation. All Rights Reserved.