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

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 11月 20日 (火) 03:00:04 JST


小林 (koichik) です.

Date:    Mon, 19 Nov 2007 21:28:14 +0900
From:    [E-MAIL ADDRESS DELETED]
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:11705]  Re: 【S2RMI】 Implファイルがあるとリモート実行されない

> > <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] の対応は不要です.
> 
> 上記の様に設定するだけで動作するとのことですが
> 私の方の理解が追いつかず期待通りに動かすことが出来ません(><

[Seasar-user:11692] の (関さんの) 対応が不要と
いうだけで,それ以前の対応は必要です.

・[Seasar-user:11665] の RemotingInterceptor サブクラス
・[Seasar-user:11684] の convention.dicon の設定
・[Seasar-user:11691] の定数アノテーション
・[Seasar-user:11693] の customizer.dicon

> ■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扱いなのはなぜなのでしょうか??

質問の意味がよく分かりませんが,ここでは
remotingInterceptor という名前のインターセプタを
設定するカスタマイザを追加しています.

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

インクルードされている dicon に設定されたコンポーネントより,
インクルードしている dicon に設定されたコンポーネントの方が
優先的に使用されます.

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

SMART deploy によって自動登録されます.
そのためには convention.dicon に独自 RemotingInterceptor の
ルートパッケージが登録されている必要があります.

> 長文となってしまいまして、申し訳ないのですが「■状況」でもお伝えしたとおり、
> 独自に作成したRemotingInterceptorが Serviceにアスペクトされていない事は
> 分かっているのですが設定方法が分かっていないようです。
> 
> 何か見落としている点などがありましたらご助言頂きますようよろしくお願い致します。

convention.dicon が怪しいように思います.
[Seasar-user:11690] の時点では独自 RemotingInterceptor が
使われようとしていたので,その後に何か変更したのでは
ないでしょうか.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>




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