2009-06-02 37 views
6

どのようにデフォルトのRMIポート(1099)を変更できますか。それはJVMのパラメータまたはコーディングを介して、それは問題ではありません。ありがとう。デフォルトのRMIポートを変更する(Java)

+0

レジストリまたはサーバーですか? – dfa

+2

1099は、RMIレジストリサーバポートであり、RMIサーバポートではありません。 –

+0

[こちら](http://coding.derkeiler.com/Archive/Java/comp.lang.java.programmer/2008-09/msg00874.html)はコーディングによる解決策です。選択したポートにカスタムレジストリを作成する必要があるようです。 **編集** - あなたの質問をもう一度読んでください:**デフォルト**ポートは変更されませんが、ポート1099の既存のポートレットに新しいレジストリを追加してください –

答えて

10

コマンドラインで指定できます。 RMI Tutorial

デフォルトでは、レジストリはポート1099で実行されます。レジストリを別のポートで起動するには、コマンドラインでポート番号を指定します。 CLASSPATH環境変数の設定を忘れないようにしてください。チュートリアルのCreating a Client Programセクションで説明したようにあなたは、ホスト名とポートでレジストリを検索するLocateRegistry.getRegistry(String host, int port)オーバーライドを使用してコードで

Microsoft Windows: 

start rmiregistry 2001 

Solaris OS or Linux: 

rmiregistry 2001 & 

+0

さて、rmiRegistryポートを変更する方法はないが、rmiServerポートを1098からJVMに-Dプロパティー引数を使用して変更することができます。 – djangofan

+0

@djangofan:正確ではありません。コマンドラインでrmiregistryポートを変更します(上記のように)。 –

+0

@djangofan彼はそれとは正反対だと言っています。 – EJP

3

リモートオブジェクトをスーパー(ポート、...)またはexportObject(リモート、ポート、...)のいずれかでエクスポートするときに、独自のポートを指定することができますUnicastRemoteObjectを拡張したり、拡張したりしないでください。 Activatableを拡張する場合も同様にポート番号を持つsuper()オーバーロードがあります。レジストリのポートは、コマンドラインで指定することができます。そうでなければ、LocateRegistry.createRegistry()を使用します。

関連する問題