6.3. 再接続の設定
再接続すると、クライアントが失われた接続から回復できます。これは、一時的なネットワークまたはコンポーネントの障害後に、分散システムのコンポーネントが再確立された状態にするために使用されます。
AMQ C++ はデフォルトで再接続を無効にします。これを有効にするには、reconnect
接続オプションを reconnect_options
クラスのインスタンスに設定します。
例: 再接続の有効化
proton::connection_options opts {}; proton::reconnect_options ropts {}; opts.reconnect(ropts); container.connect("amqp://example.com", opts);
reconnect を有効にすると、接続が失われたり、接続試行に失敗した場合に、クライアントは簡単な遅延後に再度試行します。遅延は新規試行ごとに指数関数的に増加します。
接続試行間の遅延を制御するには、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);