メッセージを再送すると、通常のメッセージ送信処理が中断されるため、Message Agent (dbremote) は再送要求の処理を遅らせます。デフォルトでは、Message Agent (dbremote) は、再送を要求したリモート・ユーザの送信頻度の半分の時間を待機します。
メッセージを再送する場合、Message Agent (dbremote) は次のタスクを実行します。
トランザクション・ログのスキャンを停止し、新しいメッセージの作成を停止する。
キャッシュに格納された送信待機中の現在のメッセージを削除する。トランザクション・ログの読み込み時とそれらのメッセージの作成時に Message Agent (dbremote) が実行したすべての作業が失われます。
再送要求で要求されたオフセットからトランザクション・ログを再読み込みする。Message Agent (dbremote) はメッセージを作成し、そのキャッシュに格納します。
次の送信頻度の時刻まで待機した後、メッセージを送信する。
メッセージの再送要求の緊急度と通常のメッセージ処理の優先度のバランスを取ってください。
-ru オプションでは、再送要求の緊急度を制御します。他のメッセージが到着するまで再送要求の処理を遅らせるには、このオプションの設定時間を長くします。たとえば、次のコマンドでは、再送要求を処理する前に 1 時間待機します。
dbremote -c "DSN=SQL Anywhere 11 Demo" -ru 1h |
Message Agent (dbremote)を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |