S2Javelinとは、SeasarAOP機構を利用し、Seasar上のアプリケーションの動作ログを出力するツールです。出力した動作ログは、そのままArrowVisionというビューワを用いてシーケンス図を表示させることが可能です。

詳細や入手等はこちらから↓
http://s2javelin.sandbox.seasar.org/s2javelin.html

それで、ReadMeをほむほむと読みながら設定していたのですが、
diconの設定でつまりました。
S2JSFの場合のサンプルはあったのですが、Teedaの場合のサンプルが無かったのです(TT TT)
そんな訳で、Teedaの場合のdiconの設定方法をメモしておきます。

前提として、Page,Serviceクラスに対してログ出力するとします。


S2JSFの場合はallaop.diconに設定するらしいのですが、
Teedaの場合はcustomizer.diconに以下の様に設定します。
(ここが最適かは自信ありませんが、意図通りには動いてくれます)

customizer.dicon

<components>
  <include path="default-customizer.dicon"/>
  <include path="javelin.dicon"/>

  <component name="pageCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
    <!-- S2Javelin -->
    <initMethod name="addCustomizer">
      <arg>
        <component class="org.seasar.framework.container.customizer.AspectCustomizer">
          <initMethod name="addInterceptorName">
            <arg>"s2JavelinInterceptor"</arg>
          </initMethod>
          <property name="pointcut">"do.*, initialize, prerender"</property>
        </component>
      </arg>
    </initMethod>
  </component><component name="serviceCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
    <!-- S2Javelin -->
    <initMethod name="addCustomizer">
      <arg>
        <component class="org.seasar.framework.container.customizer.AspectCustomizer">
          <initMethod name="addInterceptorName">
            <arg>"s2JavelinInterceptor"</arg>
          </initMethod>
        </component>
      </arg>
    </initMethod>
  </component></components>

こんな感じで対象のカスタマイザーに追加すればOKです。
例ではPageクラスのdo〜メソッド,initializeメソッド,prerenderメソッドを監視対象にしています。
必要に応じて自由にpointcutを設定できます。設定しない場合は全メソッドが対象となります。
なお、javelin.diconをincludeするのにも注意です。


Page,Serviceクラス以外も対象にしたい場合には、
その対象にしたいクラスに対応するカスタマイザーに同様に追加すればOKです。

#id:kimpoさん、いつもありがとうございます。