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.