[Seasar-user:3402] AutoRegister の記述順

Ito Yoshiichi [E-MAIL ADDRESS DELETED]
2006年 3月 20日 (月) 18:20:51 JST


こんにちは。
伊藤と申します。

昨年度末から仕事で Seasar を使い始めました。
設定ファイルの AutoRegister の記述順についての質問です。
使用している Seasar のバージョンは 2.3.4 です。

ウェブサイトに
> コンポーネントの自動登録の設定よりも後に、
> アスペクトの自動登録の設定を記述する必要があります。
とありますが、明示的に登録したコンポーネントと
自動登録されたアスペクトの記述順については
特に触れられていません。

Foo <| - - FooImpl ----> Bar <| - - BarImpl

という構成で、以下の設定ファイルを使用した場合、
(a)、(b)、(c) の順に記述すると、Foo、Bar ともアスペクトが適用されますが、
(a)、(c)、(b) の順に記述すると、Foo しかアスペクトが適用されません。
直感的には、(a)、(c)、(b) の順に記述した場合、Foo、Bar ともアスペクトが
適用されると期待したのですが、仕様のご確認をお願いします。

P.S.
ウェブサイトのドキュメントですが、できれば各機能がどのバージョンから
利用可能になったものか書いておいていただけるとありがたいです。
常に最新を使うというわけにもいきませんので。

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC
    "-//SEASAR//DTD S2Container//EN"
    "http://www.seasar.org/dtd/components.dtd">
<components>
  <include path="aop.dicon"/>

  <!-- (a) -->
  <component
class="org.seasar.framework.container.autoregister.ComponentAutoRegister">
    <initMethod name="addReferenceClass">
      <arg>@[E-MAIL ADDRESS DELETED]</arg>
    </initMethod>
    <initMethod name="addClassPattern">
      <arg>"org.seasar.framework.misc"</arg>
      <arg>"F.*Impl"</arg>
    </initMethod>
  </component>

  <!-- (b) -->
  <component
class="org.seasar.framework.container.autoregister.AspectAutoRegister">
    <property name="interceptor">aop.traceInterceptor</property>
    <initMethod name="addClassPattern">
      <arg>"org.seasar.framework.misc"</arg>
      <arg>".*Impl"</arg>
    </initMethod>
  </component>

  <!-- (c) -->
  <component class="org.seasar.framework.misc.BarImpl"/>

</components>




Seasar-user メーリングリストの案内