Collection Contents 上一页 下一页 PDF

MobiLink 服务器启动同步用户指南

教程:服务器启动的同步

第 3 课:配置通告程序


在本课中,您将配置三个通告程序属性,以改变通告程序创建推送请求、将请求传送到远程监听器以及清除过期请求的方式。

配置 Notifier 实用程序

  1. 使用 MobiLink 同步插件连接到统一数据库:

  2. 添加新通告程序。

    在左窗格中,打开 [通知] 文件夹,然后选择 [通告程序] 文件夹。在右窗格中,双击 [添加通告程序]。

    出现 [添加新通告程序] 对话框。

  3. 将通告程序命名为 CarDealerNotifier。单击 [完成]。

  4. 输入 begin_poll 事件脚本。

    通告程序检测统一数据库中的更改,然后使用 begin_poll 事件创建推送请求。此时,如果 Dealer 表发生更改并且远程数据库不是最新的,则 begin_poll 脚本将填充 PushRequest 表。

    在 begin_poll 脚本的第一主要部分中,如果设备是最新的,处理过的请求将从 PushRequest 表中删除:

    @last_modified <= greater( s.last_upload_time, s.last_download_time)

    @last_modified 是统一数据库 Dealer 表中最大的修改日期。表达式 greater( s.last_upload_time, s.last_download_time) 表示远程数据库的上次同步时间。

    您也可以使用 request_delete 事件直接删除推送请求。但是在这种情况下,begin_poll 事件确保过期的或隐式删除的请求在远程数据库同步之前不会被消除。

    代码的下一部分检查 Dealer 表的 last_modified 列中的更改,并向所有不是最新的活动监听器(列在 ml_listening 表中)发布推送请求。

    @last_modified > greater( s.last_upload_time, s.last_download_time)

    填充 PushRequest 表时,begin_poll 脚本将 subject 设置为 'sync'。

  5. 输入 request_cursor 脚本。

    request_cursor 脚本读取推送请求。每个推送请求决定在消息中发送哪些信息,以及哪些远程数据库接收信息。

    PushRequest 表为 request_cursor 脚本提供行。

    request_cursor 结果集中的顺序和值都很重要。例如,第二个参数定义缺省网关 Default-DeviceTracker。设备跟踪器网关跟踪到达用户的方式,并自动选择 UDP 或 SMTP 连接到远程设备。

  6. 输入 request_delete 脚本。

    request_delete 通告程序事件指定清理操作。使用该脚本,通告程序可自动删除隐式删除的和过期的请求。

    该 request_delete 脚本不删除行,而是将 PushRequest 表中某行的状态更新为 'processed'。

  7. 单击 [确定] 以保存通告程序属性。

进一步阅读 

有关本课中的此主题的详细信息,请参见:


Collection Contents 上一页 下一页 PDF