SYSREMOTEUSER システムテーブルには、メッセージの再送を管理する 2 つのカラムが含まれています。
resend_count カラム サブスクライバーデータベースがメッセージを失った回数を追跡するカウンター。
rereceive_count カラム SQL Remote Message Agent (dbremote) がパブリッシャーユーザーからのメッセージが失われたと判断した回数を追跡するカウンター。
サブスクライバーデータベースでメッセージが正しい順序で受信されると、次の処理が実行されます。
サブスクライバーの SQL Remote Message Agent (dbremote) は、メッセージを正しい順序で適用し、その SYSREMOTEUSER システムテーブルを更新します。
サブスクライバーの SQL Remote Message Agent (dbremote) は、パブリッシャーに確認メッセージを送信します。
パブリッシャーが確認メッセージを受信すると、パブリッシャーの SQL Remote Message Agent (dbremote) はその SYSREMOTEUSER システムテーブルを更新します。
メッセージが正しい順序で受信されなかった場合は、次の処理が実行されます。
サブスクライバーの SQL Remote Message Agent (dbremote) は、再送要求を送信し、その SYSREMOTEUSER システムテーブルの rereceive_count 値を増分します。
パブリッシャーは再送要求を受信すると、その SYSREMOTEUSER システムテーブルでサブスクライバーの resend_count 値を増分します。
パブリッシャーの SYSREMOTEUSER システムテーブル内で、log_sent 値に confirm_sent カラムの値が設定されます。log_sent 値を設定し直すと、オペレーションが再送されます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |