[Seasar-user:11705] Re: 【S2RMI】 Implファイルがあるとリモート実行されない

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 11月 19日 (月) 21:28:14 JST


関修康です。

> <component name="serviceCustomizer"
>     class="org.seasar.framework.container.customizer.CustomizerChain">
>   <initMethod name="addCustomizer">
>     <arg>traceCustomizer</arg>
>   </initMethod>
>   <initMethod name="addAspectCustomizer">
>     <arg>"remotingInterceptor"</arg>
>   </initMethod>
> </component>
> を追加してください.
> # [Seasar-user:11692] の対応は不要です.

上記の様に設定するだけで動作するとのことですが
私の方の理解が追いつかず期待通りに動かすことが出来ません(><

■状況

指定された方法で実行しても、Implがある場合、
RemotingInterceptorのinvoke()の中でIF文の外を通ってしまいます。
(Implファイルを削除した場合は、IF文の中を通ります。)

if (MethodUtil.isAbstract(method)) {
  return connector.invoke(getRemoteName(invocation), method, invocation.getArguments() );
}
return invocation.proceed();

ここから推測するに独自RemotingInterceptorが呼ばれていないのでは?と考えています

よって、3点質問がありますので教えて頂けませんか?

■1.対応不要な箇所
> # [Seasar-user:11692] の対応は不要です.
は私が独自の RemotingInterceptorCustomizer を作成した設定の事でしょうか?

■2.[customizer.dicon]について
[customizer.dicon]の内容は以下の3エレメントだけで動作しますか?

<include path="s2rmi-customizer.dicon"/>

<component name="connectorCustomizer" class="org.seasar.remoting.rmi.customizer.RMIConnectorCustomizer">
  <property name="baseURLAsString">"rmi://localhost:1108/"</property>
</component>

<component name="serviceCustomizer" class="org.seasar.framework.container.customizer.CustomizerChain">
  <initMethod name="addCustomizer">
    <arg>traceCustomizer</arg>
  </initMethod>
  <initMethod name="addAspectCustomizer">
    <arg>"remotingInterceptor"</arg>
  </initMethod>
</component>


■3."remotingInterceptor"について
serviceCustomizerの設定でtraceCustomizer は aop.traceInterceptor の設定を保持した
Customizerだろうと理解は出来るのですが"remotingInterceptor" は文字列なのに
Customizer扱いなのはなぜなのでしょうか??
(AspectAutoRegisterの時はKijimunaでコンポーネントを引けたのに)

rmi動作させるのに必要な[s2rmi-customizer.dicon]の中で serviceCustomizer が存在するのに
[customizer.dicon]の中にも serviceCustomizer が存在するのも問題がないのでしょうか?

また、そもそも "remotingInterceptor" はどこでコンポーネント化されているのでしょうか?
[s2rmi-customizer.dicon]の中ではしていないように見えるのです・・・。


長文となってしまいまして、申し訳ないのですが「■状況」でもお伝えしたとおり、
独自に作成したRemotingInterceptorが Serviceにアスペクトされていない事は
分かっているのですが設定方法が分かっていないようです。

何か見落としている点などがありましたらご助言頂きますようよろしくお願い致します。





Seasar-user メーリングリストの案内