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として今のままで良いのか考える必要があります。
う〜む。どうしたものか。