[Seasar-user:4673] Re: 同じクラスに異なるAOPを適応してコンポーネント化する方法
Takanori Suzuki
[E-MAIL ADDRESS DELETED]
2006年 9月 21日 (木) 23:50:55 JST
たかのりです。
06/09/20 に [E-MAIL ADDRESS DELETED]<[E-MAIL ADDRESS DELETED]> さんは書きました:
> ただし、これではインターフェース相手にインターセプターを適応しているので
> 実装処理を適用して3つのServerに分割することができません。
少し方針が不明なので、確認させてください。
[ServerA] のdicon指定では、
・[ServerA] はサービスとして公開するため、実装クラスを指定
・[ServerB01,ServerB02,ServerB03] はクライアントとなるため、
インタフェースを指定
となると思います。
つまり、以下のようになるのではないでしょうか?
----------------------------------------------------------------------
<!-- AXISのための設定 -->
<component name="HogeService" class="jp.example.service.HogeServiceImpl">
<meta name="axis-service"/>
</component>
<!-- [ServerB]を呼び出したいための設定 -->
<component name="ChildService01" class="jp.example.service.HogeService">
<aspect>work01.ioRemoting</aspect>
</component>
<component name="ChildService02" class="jp.example.service.HogeService">
<aspect>work02.ioRemoting</aspect>
</component>
<component name="ChildService03" class="jp.example.service.HogeService">
<aspect>work03.ioRemoting</aspect>
</component>
----------------------------------------------------------------------
また、[ServerA]と[ServerB]とでは、役割が異なるため、
インタフェースは同じでも、Implクラスは変わってきますよね?
> ■NULLの動作
> また、新たに一つ質問させて頂きたいのですが
> Axisで渡すDtoにnullが入っているとエラーとなってしまうのは
> S2Axisの制限でしょうか?
上記は、Axis2の問題です。
最新のソースでは確認できていないのですが、
問題が残っているようでしたら、ひとまずAxis2のJIRAに登録しておきます。
Seasar-user メーリングリストの案内