[Seasar-user:21338] [S2Util]MessageFormatter#initialize()の処理について
湯浅 貴寛
[E-MAIL ADDRESS DELETED]
2012年 6月 5日 (火) 20:16:44 JST
湯浅と申します。
いつも大変便利に利用させてもらっています。
org.seasar.util.message.MessageFormatterのinitialize()メソッドの
処理について質問があります。
対象は S2Util の ver.0.0.0 です。
件のメソッドの処理内容は以下のようになっておりますが,
DisposableUtil.add();の後に
initialized = true;
が必要ではないでしょうか?
(ResourceBundle.clearCache();の後に initialized = false; も必要?)
protected static synchronized void initialize() {
if (!initialized) {
DisposableUtil.add(new Disposable() {
@Override
public void dispose() {
ResourceBundle.clearCache();
}
});
}
}
# MessageFormatter#getMessage() を介して MessageFormatter#getResourceBundle()
# を呼び出す処理を繰り返すと,org.seasar.util.misc.DisposableUtilオブジェクト
# から参照されたMessageFormatterがメモリ上に大量に出来上がるという事象に遭遇し
# 調査をしていたところ,上記の点が気になったので質問いたしました。
見当違いの質問でしたらご容赦下さい。
以上です。
よろしくお願いいたします。
--
Yuasa Takahiro
Seasar-user メーリングリストの案内