sun.rmi
Properties警告: ここで説明するプロパティは、サポート対象外であり、随時変更される可能性があります。また、Java Remote Method Invocation (Java RMI)の特定の実装にしか存在しません。 これらのプロパティはJava RMI public APIの一部ではありません。 Java RMI public APIに含まれるプロパティの一覧は、「java.rmi
プロパティ」のページを参照してください。
ノート: 特に記述がないかぎり、これらのプロパティの出力はすべてSystem.err
に送信されます。
名前の末尾に「.logLevel
」の付く各プロパティが保持できる値には、「SILENT
」、「BRIEF
」および「VERBOSE
」があります。 これらの値は、大文字と小文字が区別されず、また最初のn文字に省略できます。nは1以上の値です。 値が指定されない場合、これらのプロパティはデフォルト値である「SILENT
」を保持します。 「BRIEF」
値に設定すると、対応するLogger
がレベルLevel.FINE
に設定され、「VERBOSE」
値に設定すると、対応するLogger
がレベルLevel.FINER
に設定されます。 ロギング用のこれらのsun.rmi.*
システム・プロパティを使用するよりも、ロギング構成ファイルを使用することをお勧めします。
ログ・メッセージは、System.err
に送信されます。 たとえば、出力を"transport"ログに送信するとプロパティで指定された場合、java.rmi.server.LogStream.log("transport")
により返されるLogStream
にログ・メッセージが送信されることを意味します。送信先が他に設定されていないかぎり、LogStreamはメッセージをSystem.err
に送信します。
rmid
に設定可能なプロパティsun.rmi.activation.execPolicy
ActivationGroupDesc
内の情報を使用できるかどうかを判断するときに、rmid
が使用するポリシーを決定します。 このプロパティに指定できる値は、default
、none
、またはActivationGroupDesc
情報を検証するために呼び出されるcheckExecCommand
メソッドを実装するクラスの、完全指定名です。 詳細は、rmid
のツール・ドキュメント(Solaris、LinuxまたはMac OS X用、Windows用)を参照してください。 sun.rmi.activation.execTimeout
rmid
が待機する最大時間を短くしたり、長くしたりできます。 デフォルト値は30000ミリ秒(30秒)です。 sun.rmi.activation.groupThrottle
rmid
により「生成されたがアクティブではない」状態を許可される起動グループVMの最大数を表します。 より多くのVMを起動する必要がある場合、VMは、生成中の1つが成功するか、タイムアウトになるまで待機します。 このプロパティは、アクティブなVMの最大数を制限しません。これは、オペレーティング・システムの制限に達しないように、活動の急激な増加を避けることを目的としています。 このプロパティの値を低く設定するとrmid
の起動時間が長くなり、高く設定すると起動時間が短くなります。ただし、設定値が高すぎると、システム・リソースが不足するために、rmid
がクラッシュする可能性があります。 デフォルト値は3です。 以前のリリースでこのプロパティに付けられた名前のsun.rmi.rmid.maxstartgroup
は、現在サポートされません。 sun.rmi.activation.groupTimeout
rmid
が起動グループのプロセスを破壊したのち、新しい起動グループを生成する前に待機する時間(ミリ秒)を表します。 デフォルト値は60000ミリ秒(60秒)です。 sun.rmi.activation.snapshotInterval
rmid
ログ・ファイルに直列化するまでの待機時間中の更新回数を制御します。 「更新」とは、最後のスナップショット作成時以降の、起動システムの状態(Activatable
オブジェクトの登録など)の持続的な変化を指します。 rmid
の再起動をより迅速に行う場合(ログのスナップショット作成頻度を上げることにより)、またはrmid
の動作効率を向上させる(ログのスナップショット作成頻度を下げることにより)場合に、このプロパティ値を変更します。 このプロパティの値は、正の整数です。 デフォルト値は200です。 sun.rmi.log.debug
true
の場合、rmid
のロギング動作はSystem.err
に送信されます。sun.rmi.server.activation.debugExec
true
の場合、起動システムは、起動グループの生成に使用されるコマンド行にデバッグ情報を出力します。 デフォルト値はfalse
です。このため、デバッグ情報は出力されません。 sun.rmi.dgc.ackTimeout
Long.MAX_VALUE
です。 デフォルト値は300000ミリ秒(5分)です。 sun.rmi.dgc.checkInterval
java.rmi.dgc.leaseValue
プロパティの値の半分です。 sun.rmi.dgc.logLevel
sun.rmi.dgc.server.gcInterval
sun.rmi.loader.logLevel
sun.rmi.server.exceptionTrace
true
の場合、例外スタック・トレースが出力されます。 デフォルト(false
)では、例外およびエラー・スタック・トレースは出力されません。 sun.rmi.server.suppressStackTraces
true
に設定すると、サーバー側Java RMIランタイム実装は、リモート呼出しの結果として現在の仮想マシンからスローされるすべての例外のスタック・トレースをクリアします。 このプロパティは、特定のサーバー・アプリケーションで、パフォーマンスや機密性の理由により、着信リモート呼出しの結果として整列化される例外がサーバー側スタック・トレースに含まれないようにする必要がある場合に役に立ちます。 sun.rmi.transport.logLevel
sun.rmi.transport.tcp.localHostNameTimeOut
sun.rmi.transport.tcp.logLevel
sun.rmi.transport.tcp.readTimeout
java.net.Socket.setSoTimeout
に渡されます。 クライアントが、本来の動作と異なり、不使用の接続を削除しない場合にのみ使用されます(sun.rmi.transport.connectionTimeout
を参照)。 デフォルト値は2*3600*1000ミリ秒(2時間)です。 sun.rmi.transport.tcp.maxConnectionThreads
Integer.MAX_VALUE
)で、実質的に制限はありません。 sun.rmi.transport.tcp.threadKeepAliveTime
sun.rmi.client.logCalls
true
の場合、sun.rmi.client.call
ロガーはレベルLevel.FINER
に設定されます。 リモート呼出しは、レベルLevel.FINER
でログ記録され、リモート呼び出しからスローされた例外はレベルLevel.FINE
でログ記録されます。 sun.rmi.dgc.cleanInterval
sun.rmi.dgc.client.gcInterval
sun.rmi.loader.logLevel
sun.rmi.server.logLevel
sun.rmi.transport.connectionTimeout
sun.rmi.transport.tcp.readTimeout
も参照してください。 sun.rmi.transport.logLevel
sun.rmi.transport.proxy.connectTimeout
createSocket
)が完了するまで、HTTPを使ってサーバーへの接続を試みる前の、Java RMIランタイムの待機時間の最大値を(ミリ秒で)表します。 このプロパティが使用されるのは、http.proxyHost
プロパティが設定され、かつjava.rmi.server.disableHttp
の値がfalse
の場合だけです。 デフォルト値は15000ミリ秒(15秒)です。 sun.rmi.transport.proxy.eagerHttpFallback
java.rmi.server.disableHttp
システム・プロパティが設定されていないと、デフォルトのglobal RMISocketFactory
は、最初の(直接)接続試行からjava.net.SocketException
がスローされたときに、HTTPトンネリングへフォール・バックします。これは、最初の接続試行がjava.net.UnknownHostException
またはjava.net.NoRouteToHostException
をスローしたときのみHTTPトンネリングへフォール・バックするデフォルトの動作とは対照的です。
この設定は、承認されないポートへの接続試行を無視するかわりに拒否するファイアウォールを取り扱うときに、有用である場合があります。そのときは、クライアントのデフォルトのglobal RMISocketFactory
内がjava.net.ConnectionException
になります。 このシステム・プロパティが有効にされていないと、UnknownHostException
でもNoRouteToHostException
でもないため、このようなConnectionException
がHTTPフォール・バックのトリガーになることはありません。 ただし、このシステム・プロパティが有効にされている場合は、ConnectionException
がSocketException
のサブクラスであるため、ConnectionException
がHTTPフォール・バックを引き起こします。
sun.rmi.transport.proxy.logLevel
RMISocketFactory
クラスが使用される場合に、イベント(createSocket
およびcreateServerSocket
)のロギングを制御します。 これは、HTTPを介してJava RMIを使用するアプリケーションで有用なロギング・タイプです。 このプロパティでは、カスタム・ソケット・ファクトリ内のイベントはログに記録されません。" proxy"ログに送信されるメッセージもあれば、"transport"ログに送信されるメッセージもあります。 sun.rmi.transport.tcp.handshakeTimeout
Integer.MAX_VALUE
で、ゼロの値はタイム・アウトの制限がないことを示します。 デフォルト値は60000 (1分)です。 sun.rmi.transport.tcp.responseTimeout
java.rmi.RemoteException
がスローされます。 ただしこのプロパティにより、成功した発信リモート呼出しで許可される時間の上限が実質的に設定されるため、このプロパティを設定するときは期限を考慮する必要があります。 最大値はInteger.MAX_VALUE
で、ゼロの値はタイム・アウトの制限がないことを示します。 デフォルト値は0 (タイムアウトなし)です。 sun.rmi.transport.tcp.logLevel