[Seasar-user:5251] Re: JUnitでOutOfMemory

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2006年 11月 22日 (水) 21:00:57 JST


小林 (koichik) です.

Date:    Wed, 22 Nov 2006 20:22:05 +0900
From:    Tetsuya Toba <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:5250] Re: JUnitでOutOfMemory

> その後、クラスローダを置き換える方式で試してみました。
> 
> [Unloading class jp.co.kssinet.FooDao$$EnhancedByS2AOP$$1cec59b]
> というようなログが出力されるようになり、うまくいくかと思ったので
> すが、今度は java.lang.OutOfMemoryError: Java heap space が発生
> してしまいました。

クラスローダーを置き換えて効果があるのはパーマネント
領域で,ヒープはまた別の問題ですね.

> クラスローダの置き換え方法が間違っていたのかと思い、S2TestCase
> で同じ dicon を読み込むようにして追試してみたのですが S2TestCase
> でも同様に java.lang.OutOfMemoryError: Java heap space となりました。
> 
> 追試といっても、setUp() で dicon を include() して、test() で
> getComponent() を行い、メソッドを1個呼ぶだけのテストケースを、
> テストスイートで1000回繰り返しただけですなのですが。。。

こちら,再現するテストケースを添付していただけないでしょうか.
できれば S2TestCase を使った方をお願いします.

最近テストスイートは使っていないので記憶が曖昧ですが...
通常,JUnit ではテストメソッドごとに TestCase のインスタンスが
生成されてテストが終了すると破棄されますが,TestSuite を
使った場合はインスタンスが再利用されていたような気がします.
その辺りの影響もあるかもしれません.


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