Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Remote » 管理 SQL Remote 系统 » 保证消息传送系统

 

丢失或损坏的消息

SYSREMOTEUSER 系统表中有两列用来管理重新发送消息:

  • resend_count 列   跟踪预订者数据库丢失消息的次数的计数器。

  • rereceive_count 列   跟踪 SQL Remote 消息代理 (dbremote) 已确定来自发布者用户的消息已丢失的次数的计数器。

当在预订者数据库中按正确顺序接收消息时:

  1. 预订者 SQL Remote 消息代理 (dbremote) 按正确顺序应用消息,并更新其 SYSREMOTEUSER 系统表。

  2. 预订者 SQL Remote 消息代理 (dbremote) 向发布者发送确认消息。

  3. 当发布者接收到确认消息时,其 SQL Remote 消息代理 (dbremote) 会更新其 SYSREMOTEUSER 系统表。

当未按正确顺序接收消息时:

  1. 预订者 SQL Remote 消息代理 (dbremote) 发送重发请求,并增大其 SYSREMOTEUSER 系统表中的 rereceive_count 值。

  2. 发布者接收到重发请求时,会为预订者增大 SYSREMOTEUSER 系统表中的 resend_count 值。

  3. 在发布者的 SYSREMOTEUSER 系统表中,log_sent 值将设置为 confirm_sent 列中的值。对 log_sent 值进行重置会使操作被重新发送。

 另请参见