6.3. 再接続の設定
再接続することで、クライアントは失われた接続から復旧できます。これは、一時的なネットワークまたはコンポーネントの障害後に、分散システムのコンポーネントが再確立されるように使用されます。
AMQ C++ はデフォルトで再接続を無効にします。これを有効にするには、reconnect
接続オプションを reconnect_options
クラスのインスタンスに設定します。
例: 再接続の有効化
proton::connection_options opts {}; proton::reconnect_options ropts {}; opts.reconnect(ropts); container.connect("amqp://example.com", opts);
再接続を有効にすると、接続が失われた場合、または接続の試行が失敗した場合に、クライアントは少し遅れて再試行します。遅延は新規試行ごとに指数関数的に増加します。
接続試行間の遅延を制御するには、delay
オプション、delay_multiplier
オプション、および max_delay
オプションを設定します。すべての期間はミリ秒単位で指定します。
再接続試行回数を制限するには、max_attempts
オプションを設定します。これを 0 に設定すると制限が削除されます。
例: 再接続の設定例
proton::connection_options opts {}; proton::reconnect_options ropts {}; ropts.delay(proton::duration(10)); ropts.delay_multiplier(2.0); ropts.max_delay(proton::duration::FOREVER); ropts.max_attempts(0); opts.reconnect(ropts); container.connect("amqp://example.com", opts);