プロが教えるわが家の防犯対策術!

RMIについて

RMIのHelloWorldを勉強中です。
RMIを実際動かす際に事前に
 RMIレジストリの起動
 サーバの起動
を行いますが、
HelloWorldではなく実際RMIを使ったアプリケーションとして動かす際、
この2つのサービスはどのような方法で立ち上げるのでしょうか?

Windowsのサービス(SC)に登録してもうまく動きませんでした。
(エラー1053が出力される)

ちなみに環境は、RMIクライアント・サーバ共にWindowsXPです。

よろしくお願いいたします

A 回答 (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にしてしまうという手もあるかと。

この回答への補足

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

補足日時:2010/11/03 13:47
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!