[Seasar-user:4226] Re: S2FrameworkTestCase の unbindFields

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2006年 8月 1日 (火) 01:01:03 JST


小林 (koichik) です.

Date:    Mon, 31 Jul 2006 14:48:53 +0900
From:    "Ito Yoshiichi" <[E-MAIL ADDRESS DELETED]>
To:      <[E-MAIL ADDRESS DELETED]>
Subject: [Seasar-user:4217] S2FrameworkTestCase の unbindFields

> S2FrameworkTestCase についての質問です。
> unbindFields が deprecated になっているのはなぜでしょうか?

自分が直接修正したわけではないので確かではないかもしれませんが,
おそらくパフォチューのためだと思われます.
以前の S2(Framework)TestCase ではテストメソッド毎に System.gc()
などを呼び出していたためにテストケースが増えてくるととても
時間がかかっていたのですが,それを昨年の終わり頃に見直した際に
unbindFields() も deprecated になったようです.

> Eclipse 上で大量のテストケースを同時に流したとき、
> java.lang.OutOfMemoryError: Java heap space
> が発生したため、unbindFields を以下のように修正し、
> テスト終了後フィールドを null にセットすると、
> エラーが発生しなくなりました。
> もし何か意図するところがあって deprecated にしているのであれば、
> 教えていただければと思います。
> 
> S2 のバージョンは 2.3.10 です。

間もなくリリース予定の 2.3.11 で commons-logging に
関連するリソースの解放漏れが解消します.
unbindFields() を使わなくてもそれでメモリ不足が解消すると
いいのですが.
リリースされたら試して頂けると助かります.


-- 
<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 メーリングリストの案内