Overview
このガイドでは、 Javaドライバーがソケット設定を管理する方法について学習できます。
ソケットの設定を指定するには、接続文字列を使用するか、MongoClientSettings
オブジェクトをMongoClientsコンストラクターに渡します。使用可能なオプションを確認するには、Connection String タブまたは MongoClientSettingsタブを選択します。
オプション名 | タイプ | 説明 |
---|---|---|
| integer | Java ドライバーがタイムアウトする前に接続が開かれるまで待機する最大時間をミリ秒単位で指定します。 値が デフォルト: |
| integer | Java ドライバーがタイムアウトする前にリクエストの送信または受信を待機する最大時間をミリ秒単位で指定します。 値が デフォルト: |
次の例では、ドライバーが接続を開始するまで待機する 15 秒後にタイムアウトするように指定しています。
ConnectionString connectionString = "mongodb://<host>:<port>/?connectTimeoutMS=15000" MongoClient mongoClient = MongoClients.create(connectionString)
これらのパラメータの詳細については、 ConnectionString APIドキュメントを参照してください。
applyToSocketSettings() メソッドをチェーンして、 MongoDBデプロイに接続して通信するときにドライバーの動作を変更します。
次の表では、 設定に連鎖させてドライバーの動作を変更できる方法について説明します。
方式 | 説明 |
---|---|
|
|
|
|
| タイムアウト例外をスローする前に、利用可能なソケットに接続する最大時間を設定します。 デフォルト: |
| タイムアウト例外をスローする前に、利用可能なソケットから読み取る最大時間を設定します。 デフォルト : |
| 受信時にソケットのバッファ サイズを設定します。 デフォルト : オペレーティング システムのデフォルト |
| 送信時にソケットのバッファ サイズを設定します。 デフォルト : オペレーティング システムのデフォルト |
注意
SOCKS5 プロキシを使用してMongoDBに接続する
SOCKS5 プロキシを使用して、applyToProxySettings()
メソッドをソケット設定に連鎖させてMongoDBに接続できます。SOCKS5 プロキシの使用方法とプロキシ設定の設定については、「 SOCKS5 プロキシを使用したMongoDBへの接続」ガイドを参照してください。
この例では、MongoDB ソケットで次のドライバーの動作を指定します。
内の利用可能なソケットに接続するには
10 SECONDS
内の利用可能なソケットから読み取るには
15 SECONDS
MongoClient mongoClient = MongoClients.create( MongoClientSettings.builder() .applyConnectionString(new ConnectionString("<your connection string>")) .applyToSocketSettings(builder -> builder.connectTimeout(10, SECONDS) .readTimeout(15, SECONDS)) .build());
連鎖メソッドの詳細については、 MongoClientSettings.Builder APIドキュメント を参照してください。