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