[Seasar-user:1557] Re: DelegateInterceptor:委譲先のインスタンス生成 2.1系と2.2系で違うのは何故?
Koichi Kobayashi
koichik
2005年 3月 5日 (土) 19:00:26 JST
小林 (koichik) です.
On Sat, 05 Mar 2005 06:42:31 +0900
jazzatny <[E-MAIL ADDRESS DELETED]> wrote:
> おはようございます(って小林さんはこれから寝るの?)。佐藤です。
はい,あれから寝ました.(^^;
# 今まで寝てたわけではありません,念のため.
> 解説ありがとうございました。私、まだまだ理解が足りないみたいですね。
この辺りはドキュメント化されていませんからね.
S2AOP を使った場合,オブジェクトの構造は次のようになります.
+----------+ +------------+ +------------+ +-------------+ +--------+
| Delegate |-->| Introduce |-->| Method |-->| Delegate |-->| Target |
| Test | | (Enhanced) | | Invocation | | Interceptor | | |
+----------+ +------------+ +------------+ +-------------+ +--------+
最初のサンプルで表示されていたオブジェクトは Target,
先の [Seasar-user:1552] で表示されたオブジェクトは
Introduce (Enhanced) です.
ここで,MethodInvocation が使用する DelegateInterceptor の
インスタンスは,Introduce をエンハンスする時点でコンテナから
取得されたものが常に使われます.
これは,Introduce (Enhanced) のインスタンスが作成される
タイミングとは関係ありません.ここが直感的でないところですね.
> すいません、プレッシャーをかけるつもりではありませんでした。
> でも、ここの理解が足りないと思わぬところで足をすくわれることに
> なると思うのでよろしくお願いします。
はい,頑張ります〜.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
Seasar-user メーリングリストの案内