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

SQL Anywhere 11.0.1 (中文) » SQL Remote » SQL Remote 部署和管理 » SQL Remote 管理 » 了解保证消息传送系统

 

重新发送丢失或损坏的消息

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

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

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

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

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

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

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

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

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

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

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

另请参见