コンポーネントの自動登録

DWRSeasar2対応をするに当たって、dwr.xmlを書かなくても良い仕組みを考えています。AutoRegisterと同じようにdiconファイルを記述することで、コンポーネントを自動的にDWRから呼び出せるようにするわけです。例えば、こんな感じですね。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container 2.3//EN"
          "http://www.seasar.org/dtd/components23.dtd">
<components>
    <include path="aop.dicon"/>
    <include path="s2dwr.dicon"/>
    <component class="org.seasar.dwr.example.remote.echo.EchoService">
        <aspect pointcut=".*">aop.traceInterceptor</aspect>
    </component>
    <component class="org.seasar.dwr.example.remote.calc.CalculatorService">
        <aspect pointcut=".*">aop.traceInterceptor</aspect>
    </component>
    <!-- dwr.xmlを書く代わり -->
    <component class="org.seasar.dwr.autoregister.DwrAutoRegister">
        <initMethod name="addClassPattern">
            <arg>"org.seasar.dwr.example.remote"</arg>
            <arg>".*Service"</arg>
        </initMethod>
    </component>
</components>

果たしてニーズがあるのか分かりませんが、私は設定ファイルを書くのが面倒に感じられたので、こんな仕組みを用意しようと思っています。

# これくらいしかS2的なことをやるところがないという話もありますが(^^;