• ベストアンサー

RMIについて

RMIについて RMIのHelloWorldを勉強中です。 RMIを実際動かす際に事前に  RMIレジストリの起動  サーバの起動 を行いますが、 HelloWorldではなく実際RMIを使ったアプリケーションとして動かす際、 この2つのサービスはどのような方法で立ち上げるのでしょうか? Windowsのサービス(SC)に登録してもうまく動きませんでした。 (エラー1053が出力される) ちなみに環境は、RMIクライアント・サーバ共にWindowsXPです。 よろしくお願いいたします

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 rmiregistry.exeをWindowsサービス起動したいという事でしょうか。その場合はsc.exeコマンドでサービス一覧に追加する時に、rmiregistry.exeではなく、リソースキットのsrvany.exeなどで追加し、それらサービスラッパーを経由して開始・終了しなくてはなりません。rmiregistry.exeはWindowsサービスとして動作できないEXEなのです。  また、RMIサーバー(実際に機能を提供するクラス)は少し手直ししてexewrapという物凄いフリーソフトを用いてexeファイルにすると良いでしょう。なんと(特定のメソッドをJavaのクラスからWindowsのサービスとして登録できるexeを作成できるスグレモノです。  サービスラッパーの良いのが見つからない場合はrmiregistry.exeを起動する代わりにRMIレジストラーをJavaで自作する方法もあるので、Javaで自前のRMIレジストラーを作成してそちらもexewrapでサービスEXEにしてしまうという手もあるかと。

j-m-n-k
質問者

補足

回答ありがとうございます。 ちょっとお聞きしたいのですが、実際商用で稼働するような(RMIを使用した)アプリケーションは、このようなsrvany.exeやexewrapを使用した方法になるのでしょうか? それとも運用でrmiregistry.exe、サーバの起動を手動で行うのでしょうか? よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう