[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 メーリングリストの案内