S2RMI実装中

Seasar Wiki に S2RMI のページを作成して頂きました。

http://seasar.satin.jp/wiki/index.php?Sandbox%2FS2RMI

まずはS2Remotingに合わせたバージョンの実装を完了させ、アップして行きます。

id:koichikさんのS2Remoting 0.0.3以降からURLにrmiプロトコルが使用できるようになりました。ありがとうございます。>kochikさん

さぁて、一気に、、、と思ったのですが、次の問題にぶち当たりました。

現在のS2RMIではサービスのURLは以下のようになっています。

rmi://127.0.0.1:1099/RmiInvoker
(RmiInvokerは固定)

現在のS2RMIでは、サーバ側のコンポーネントをAdaptorによって呼び出します。リモートオブジェクトとしてregistryに登録しているのはAdaptor(RmiInvoker)であり、サーバ側のコンポーネントをリモートオブジェクトとしては登録していません。
#上記URLでAdaprot(RmiInvoker)のスタブを取得し、呼び出すコンポーネント名称を渡すことで、サーバ側のコンポーネントを呼び出しています。

他のリモーティングプロダクトでは、呼び出すリモートオブジェクト名称によりURLを作ります。

http://127.0.0.1:8080/xxx/hello

URLBasedConnectorもその仕様を前提にしているため、そのままでは利用できない状態です。URLBasedConnectorのinvoke(), getTargetURL()をオーバーライドすることで、回避可能ですが、そもそもS2RMIとして今のままで良いのか考える必要があります。

う〜む。どうしたものか。