[Seasar-user:10405] Re: HotDeploy時のClassPoolのキャッシュについて

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 9月 8日 (土) 15:30:35 JST


小林 (koichik) です.

Date:    Sat, 08 Sep 2007 02:56:31 +0900
From:    "BABA,Yasuyuki" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:10398] Re: HotDeploy時のClassPoolのキャッシュについて

> HotDeploy 時に AOP でエンハンスされたクラスを DXO で扱うと、リクエストご
> とに OgnlRuntime のキャッシュにアクセサメソッドが溜まっていって開放され
> るタイミングがないように見えます。
> ここは問題ないでしょうか?

問題ありますね.
エンハンスされたクラスが変換元で,@ConversionRule が
指定されている場合に該当します.

現在 Seasar2 では,ognl.org で配布されている
ognl-2.6.9 に同期の問題に対処したパッチを
適用して使用していますが,これにはキャッシュを
クリアするメソッドがありません.

opensymphony.com では 2.7 が配布されていますが,
こちらにはキャッシュをクリアするメソッドが
追加されています.

パッチ適用版 2.6.9 にキャッシュのクリアメソッドを
ポートするか,2.7 に同期のパッチを適用するか,
コミッタで相談して対処したいと思います.


P.S.
opensymphony.com の JIRA に同期の問題を登録お願いします>中村さん

http://jira.opensymphony.com/secure/BrowseProject.jspa

SVN で見たところ,2.6.9 のまま変わっていないので.

http://svn.opensymphony.com/svn/ognl/trunk/src/java/ognl/SimpleNode.java

P.P.S
OGNL の 2.7 になると Javassist 使ってパフォーマンスを
改善しようとしてるせいで,ClassPool の解放は今より
大変になるかも.
こんなのもあるし.

http://jira.opensymphony.com/browse/OGNL-120

2.7 系が落ち着くまで 2.6 にパッチして使う方が
無難かも.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>




Seasar-user メーリングリストの案内