[Seasar-user:5233] S2TestCaseでOutOfMemoryErrorが発生する
中田光治
[E-MAIL ADDRESS DELETED]
2006年 11月 21日 (火) 20:08:52 JST
なかたと申します。
S2TestCase を使ってテスト実行中にOutOfMemoryErrorで落ちました。
いろいろ切り捨てて調査したところ、下記のプログラムだけで再現しました。
ダミーのオブジェクトを生成して、予め空きメモリを減らしておくと、
OutOfMemoryErrorが発生します。(発生するまでメソッド数を増やしていきます)
設定におかしいところがあるのでしょうか?
使用バージョン:2.4.4
[Test.java]
package pkg;
import org.seasar.extension.unit.S2TestCase;
public class Test extends S2TestCase {
public Test(String name) {
super(name);
}
public void setUp() {
include("pkg/Test.dicon");
Runtime runtime = Runtime.getRuntime();
runtime.gc();
System.out.println("[" + runtime.totalMemory() + "]"
+ "[" + runtime.freeMemory() + "]"
+ "[" + (runtime.totalMemory() -
runtime.freeMemory()) + "]");
}
public void test001() {}
public void test002() {}
public void test003() {}
public void test004() {}
public void test005() {}
// .... ひたすら追加
}
[Test.dicon]
<components>
<component name="requiredTx"
class="org.seasar.extension.tx.RequiredInterceptor"/>
<component class="pkg2.impl.FooImpl">
<aspect>requiredTx</aspect>
</component>
</components>
[Foo]
public interface Foo {
String get();
}
[FooImpl]
public class FooImpl implements Foo {
public String get() {return null;}
}
Seasar-user メーリングリストの案内