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