コンポーネントの自動登録
DWRのSeasar2対応をするに当たって、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的なことをやるところがないという話もありますが(^^;