原因調査
直接の赤い原因はコレ↓
org.seasar.framework.exception.NoSuchConstructorRuntimeException: [ESSR0064]クラス([パッケージ名].[daoインターフェース名])のコンストラクタ([daoインターフェース名]())が見つかりません
原因を探っていくと、どうやらdaoのインターセプタが実行されていない状態でインターフェースがそのままコンテナに登録されることが原因のようだ。
diconで
<include path="dao.dicon"/> <component class="org.seasar.framework.container.autoregister.FileSystemComponentAutoRegister"> <property name="autoNaming"> <component class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/> </property> <initMethod name="addClassPattern"> <arg>"[パッケージ名]"</arg> <arg>".*Dao"</arg> </initMethod> <initMethod name="registerAll"/> </component>
↓includeされているdao.diconより抜粋
<component name="interceptor"class="org.seasar.dao.interceptors.S2DaoInterceptor"/>
というふうに定義してあるのだが。
現象と直接の原因はわかったが、何でそうなったのがが掴みきれないのでメーリングリストに質問を投げることにする。
MLに質問を投げるのははじめてなのでかなりどきどき。。。