Overview
このセクションでは、 Java Reactive Streams ドライバーの接続 URI のパラメーターとして渡すことができるMongoDBの接続オプションと認証オプションについて説明します。
接続 URI の使用
MongoClient コンストラクターに接続 URI を渡す場合は、接続オプションを <name>=<value> ペアとして文字列に含めることができます。次の例では、接続 URI に、値が 60000 の connectTimeoutMS オプションと、値が true の tls オプションが含まれています。
public class MongoConnection { public static void main(String[] args) { String uri = "mongodb://<hostname>:<port>/?connectTimeoutMS=60000&tls=true"; try (MongoClient client = MongoClients.create(uri)) { // Use client here } } }
接続オプション
次のセクションでは、 Java Reactive Streams ドライバーで使用できる接続オプションについて説明します。 これらのオプションを接続 URI のパラメーターとして に渡し、クライアントの動作を指定できます。
認証
接続オプション | 説明 |
|---|---|
authMechanism | Java Reactive Streams |
authMechanismProperties | 認証メカニズムに固有のオプションを設定します。 |
authSource | 認証資格情報のソースを設定します。ソースは通常データベースです。 |
username | 認証のユーザー名を設定します。このオプションが接続 |
パスワード | 認証用のパスワードを設定します。このオプションが接続 |
接続構成
接続オプション | 説明 |
|---|---|
connectTimeoutMS | タイムアウトするまでに接続が要するミリ秒数を設定します。 |
maxIdleTimeMS | 接続がプールに残っていることができる最大アイドル時間(ミリ秒)を設定します。 |
maxLifeTimeMS | プールされた接続の最大有効期間をミリ秒単位で設定します。指定された |
socketTimeoutMS (非推奨) | |
ssl | TLS/SSL を使用して接続するかどうかを設定します。 |
sslInvalidHostNameAllowed | TLS/SSL接続に対する無効なホスト名を許可します。 |
tls | TLS を使用して接続するかどうかを設定します。 |
tlsAllowInvalidHostnames | TLS 接続の無効なホスト名を許可します。 |
tlsInsecure | TLS を使用して接続する場合、安全でない TLS 接続を有効にします。 |
接続プールの構成
接続オプション | 説明 |
|---|---|
maxConnecting | プールが同時に確立できる接続の最大数を設定します。 |
maxPoolSize | 接続プール内の最大接続数を設定します。接続プールに |
minPoolSize | 接続プール内の接続の最小数を設定します。 |
waitQueueTimeoutMS (非推奨) |
CompressorConfiguration
接続オプション | 説明 |
|---|---|
compressors | サーバーとの間で送受信されるワイヤプロトコル メッセージの圧縮の優先するタイプを順番に設定します。 |
zlibCompressionLevel | zlib が使用する圧縮レベルを設定します。このオプションは、 |
一般的な構成
接続オプション | 説明 |
|---|---|
directConnection | ドライバーがホストに直接接続するかどうかを設定します。 |
loadBalanced | ドライバーが MongoDB にロード |
retryWrites | ネットワーク エラーによってサポートされている書き込み (write) 操作が失敗した場合に、ドライバーが再試行するかどうかを設定します。 |
retryReads |
|
uuidRepresentation | Java Reactive Streams ドライバーが |
プロキシ構成
接続オプション | 説明 |
|---|---|
proxyHost | SOCKS5 プロキシホストを設定して接続を確立します。 |
proxyPort | SOCKS5 プロキシー サーバーのポート番号を設定します。非負数整数である必要があります。 |
proxyUsername | プロキシ サーバーで認証するユーザー名を設定します。 |
proxyPassword | プロキシサーバーでの認証用パスワードを設定します。必要な場合 |
読み込み設定(read preference)構成
接続オプション | 説明 |
|---|---|
readPreference | この接続の読み込み設定(read preference)を設定します。列挙値は次のとおりです。 |
readPreferenceTags |
|
maxStalenessSeconds | 最大スタレールを秒単位で設定します。スタレールの詳細については、 |
レプリカセットの構成
接続オプション | 説明 |
|---|---|
replicaSet | 接続先のレプリカセットの名前を指定します。 |
サーバー構成
接続オプション | 説明 |
|---|---|
appName | アプリケーションの論理名を設定します。 |
heartbeatFrequencyMS | クラスター内の各サーバーの現在の状態を決定するドライバーの頻度をミリ秒単位で指定します。 |
localThresholdMS | 複数の MongoDB サーバーからリクエストを送信するための ping 時間のしきい値を設定します。 |
serverMonitoringMode | 使用するモニタリングプロトコルを定義するサーバーモニタリングモードを設定します。列挙値は、 |
serverSelectionTimeoutMS | ドライバーが例外をスローする前に、サーバー選択が成功するまで待機する時間を設定します。 |
SRV 構成
接続オプション | 説明 |
|---|---|
srvServiceName | SRV サービス名を設定します。詳細については、 |
srvMaxHosts | SRV レコードから接続するホストの最大数を設定します。 |
書込み保証 (write concern) の構成
接続オプション | 説明 |
|---|---|
安全 | ドライバーがMongoDBサーバーによってすべての書き込み (write) が認識されることを保証するか、または例外をスローするかを設定します。 |
journal | ドライバーがサーバーがディスク上のジャーナル |
w | 設定されている場合、ドライバーはすべての書き込みコマンドに |
wTimeoutMS (非推奨) | このオプションは非推奨です。このタイムアウトは、代わりに |
このセクションの接続オプションの詳細については、 「データベースとコレクションのガイド」 を参照してください。