[Seasar-user:1548] DelegateInterceptor:委譲先のインスタンス生成 2.1系と2.2系で違うのは何故?
jazzatny
jazzatny
2005年 3月 4日 (金) 20:50:42 JST
こんばんは、佐藤です。
DelegateInterceptorで委譲先としてセットされるクラスのインスタンスの
生成についてなのですが、2.1系と2.2系で違うのは何か理由があるのでしょうか。
以下テストです。
--------------------------------------
public interface Introduce {
public void introduceMySelf();
}
--------------------------------------
public class Target {
public Target(){
}
public void introduceMySelf(){
System.out.println(this);
}
}
--------------------------------------
<components>
<component name="target"
class="Target" instance="prototype"/>
<component name="introduce"
class="Introduce" instance="prototype">
<aspect>
<component
class="org.seasar.framework.aop.interceptors.DelegateInterceptor"
instance="prototype">
<property name="target">target</property>
</component>
</aspect>
</component>
</components>
--------------------------------------
public class DelegateTest extends S2TestCase {
protected void setUp() throws Exception {
super.setUp();
include("delegate.dicon");
}
public DelegateTest(String arg0) {
super(arg0);
}
public void testDelegate(){
for (int i = 0; i < 5; i++) {
Introduce introduce = (Introduce) getComponent("introduce");
introduce.introduceMySelf();
}
}
}
--------------------------------------
以下、結果です。
・2.2系
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
・2.1系
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2.1系では、指定通りprototypeで生成されていて、2.2系ではsigletonに
なっているようなのですが、何か理由があるのでしょうか。
よろしくお願いします。
Seasar-user メーリングリストの案内