java.rmi プロパティー



注: 特に記述がないかぎり、これらのプロパティーの出力はすべて System.err に送信されます。


リモートオブジェクトをエクスポートする仮想マシン (VM) の設定に有用なプロパティー

java.rmi.activation.port
このプロパティーは、この VM が rmid と通信する際の TCP ポート番号の設定に使用されます。デフォルトでは、rmid はポート 1098 で待機しますが、rmid コマンド行で -port オプションを使うと、別のポートで待機するように設定できます。このプロパティーのデフォルト値は 1098 のため、このプロパティーは、1098 以外のポートで動作する rmid のインスタンスと通信する必要がある VM でのみ設定する必要があります。

java.rmi.dgc.leaseValue
このプロパティーの値は、この VM によりエクスポートされたオブジェクトへのリモート参照を保持するほかの VM に許可されるリース期間 (ミリ秒) を表します。通常、リースの 50% が期限切れになると、クライアントはリースを更新します。このため、非常に小さな値を指定すると、Unreferenced.unreferenced の呼び出しによる待ち時間の短縮と引き換えに、ネットワークのトラフィックは増大し、更新が遅れる危険があります。このプロパティーのデフォルト値は 600000 ミリ秒 (10 分) です。
java.rmi.server.codebase
このプロパティーは、この VM により公開されるクラス (たとえば、スタブクラス、リモートメソッド呼び出しの宣言された戻り型を実装するカスタムクラス、プロキシまたはスタブクラスが使用するインタフェース) のダウンロード元を指定します。このプロパティーの値は、URL 形式の文字列 (または、スペースで区切られた URL リスト) で、この VM の (また結果としてこの VM により整列化される) CLASSPATH からロードされるすべてのクラスのコードベース注釈になります。

注:JavaTM Remote Method Invocation (Java RMI) を使用してクラスおよびインタフェースを動的にダウンロードするには、このプロパティーを適切に設定する必要があります。このプロパティーを適切に設定しないと、サーバーまたはクライアントの実行時に例外が発生する可能性があります。このプロパティーの詳細については、「Java RMI の使用による動的なコードのダウンロード (java.rmi.server.codebase プロパティーを使用)」を参照してください。

java.rmi.server.hostname
このプロパティーの値は、リモートオブジェクト上のメソッドの呼び出しをクライアントから可能にするために、ローカルに作成されたリモートオブジェクトのリモートスタブに関連付けられるホスト名文字列を表します。このプロパティーのデフォルト値はローカルホストの IP アドレス (ドットで区切られた形式) です。
java.rmi.server.logCalls
この値が true の場合、着信する呼び出し、および着信する呼び出しによりスローされる例外は、System.err に記録されます。このプロパティーを true に設定すると、RMI プログラムのデバッグにたいへん役立ちます。sun.rmi.server.exceptionTrace も参照してください。
java.rmi.server.randomIDs
この値が true の場合、この VM によりエクスポートされたリモートオブジェクトのオブジェクト識別子は、安全な暗号化の施された乱数ジェネレータを使って生成されます。デフォルト値は false です。
java.rmi.server.useCodebaseOnly
この値が true の場合、ローカルの CLASSPATH およびこの VM に設定された java.rmi.server.codebase プロパティーからロードする場合を除き、クラスの自動ロードは禁止されます。このプロパティーを使用することにより、クライアント VM が、ほかのコードベースからバイトコードを動的にダウンロードすることがなくなります。バグのため、1.2 および 1.2.1 の実装では、このプロパティーは無視されます。
java.rmi.server.useLocalHostname
java.rmi.server.hostname プロパティーが指定されておらず、ローカルホストの完全指定されたドメイン名を取得できない場合、Java RMI は IP アドレスを使ってローカルホストを識別します。Java RMI が完全指定されたドメイン名をデフォルトで使用するようにするには、このプロパティーを true に設定する必要があります。

リモートメソッド呼び出しを実行する VM の設定に有用なプロパティー

java.rmi.server.codebase
このプロパティーは、この VM により公開されるクラス (たとえば、リモートメソッド呼び出しの宣言されたパラメータ型であるインタフェースを実装するカスタムクラス) のダウンロード元を指定します。このプロパティーの値は、URL 形式の文字列 (または、1.2 以降ではスペースで区切られた URL リスト) で、この VM の (また結果としてこの VM により整列化される) CLASSPATH からロードされるすべてのクラスのコードベース注釈になります。

注:サーバーのコードベースおよびクライアントの CLASSPATH の両方に存在するクラスは、サーバーのコードベースからではなく、クライアントの CLASSPATH からロードされます。このプロパティーの詳細については、「Java RMI の使用による動的なコードのダウンロード (java.rmi.server.codebase プロパティーを使用)」を参照してください。

java.rmi.server.disableHttp
この値が true の場合、http.proxyHost を設定しても、HTTP トンネリングは無効になります。デフォルト値は false です。プログラムが HTTP トンネリングを使用しないことがわかっている場合には、HTTP トンネリングを無効に設定して、接続失敗時のタイムアウトの時間を短縮します。
java.rmi.server.useCodebaseOnly
この値が true の場合、ローカルの CLASSPATH およびこの VM に設定された java.rmi.server.codebase プロパティーからロードする場合を除き、クラスの自動ロードは禁止されます。このプロパティーを使用することにより、クライアント VM が、ほかのコードベースからバイトコードを動的にダウンロードすることがなくなります。バグのため、1.2 および 1.2.1 の実装では、このプロパティーは無視されます。

Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.