ネットワークのプロパティ

java.netパッケージのさまざまなクラスのメカニズムと動作を変更するために使用される、いくつかの標準システム・プロパティがあります。 一部はVMの起動時に1回だけチェックされるので、javaコマンドの-Dオプションを使用するのが適切な設定方法です。一方、他のプロパティの性質はより動的で、System.setProperty() APIを使用して変更することもできます。 このドキュメントは、これらのすべてのプロパティのリストを示し、それらの詳細を説明することを目的としています。

特にノート書きがなければ、プロパティ値は使用されるたびにチェックされます。

IPv4 / IPv6

これらのプロパティはどちらも、起動時に1回だけチェックされます。

プロキシ

プロキシ・サーバーは、ネットワーク・サービスへの間接的な接続を可能にするもので、主に、セキュリティ上の理由(ファイアウォールを通過させる)とパフォーマンス上の理由(プロキシはキャッシュ・メカニズムを提供することが多い)のために使用されます。 次のプロパティによって、さまざまな種類のプロキシを構成できます。

その他のHTTP URLストリーム・プロトコル・ハンドラのプロパティ

これらのプロパティはすべて、起動時に1回だけチェックされます。

アドレス・キャッシュ

名前解決の実行時、java.netパッケージはセキュリティ上とパフォーマンス上の両方の理由で、アドレス・キャッシュを使用します。 アドレス解決の試行は、前方解決(名前からIPアドレスへ)でも逆方向の解決(IPアドレスから名前へ)でもすべて、成功であったかどうかを問わず結果がキャッシュされます。そのため、以後の同一の要求はネーム・サービスにアクセスする必要がなくなります。 これらのプロパティでは、キャッシュの動作方法をいくつかの設定でチューニングできます。

これらの3つのプロパティはセキュリティ・ポリシーの一部であるため、 -DオプションまたはSystem.setProperty() APIによって設定されず、かわりにセキュリティ・プロパティとして設定されます。

Unixドメイン・ソケット

nullアドレス・パラメータを指定してServerSocketChannel.bindをコールすると、「自動割当済」ソケット・アドレスにバインドされます。 Unixドメイン・ソケットの場合、これは事前定義されたシステム一時ディレクトリ内の一意のパスを意味します。 この動作に影響を与えるシステム(ネットワーキング)プロパティは多数あります。

Unixドメイン・ソケット・アドレスの長さは約100バイトの(プラットフォームによって異なります)に制限されています。一時ディレクトリ名とソケット(現在、socket_1679697142に類似した名前)に使用されるファイル名がこの制限を超えないようにすることが重要です。 次のプロパティを使用して、このディレクトリの選択を制御できます:

プラットフォーム固有の動作の詳細は、conf/net.properties構成ファイルを参照してください。

SocketChannelImplicitバインディング

クライアント・ソケットがbindをコールせずにリモート宛先に接続されている場合、ソケットは「暗黙的」バウンドです。 この場合、「Unixドメイン」ソケットは「名前なし」 (ie.パスが空です)です。 この動作は、システムまたはネットワークのプロパティの影響を受けません。

拡張例外メッセージ

デフォルトでは、セキュリティ上の理由から、例外メッセージにはホスト名やUnixドメイン・ソケット・アドレス・パスなどの機密性の高いセキュリティ情報は含まれません。 次のプロパティは、デバッグなどの目的でこの制限を緩和するために使用できます。