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

SQL Anywhere 11.0.1 (中文) » QAnywhere » QAnywhere 参考 » QAnywhere 代理实用程序参考 » qauagent 实用程序

 

-policy 选项

指定确定何时发生消息传输的策略。

语法
qauagent -policy policy-type ...
policy-type: ondemand | scheduled[ interval-in-seconds ] | automatic | rules-file
缺省值
注释

QAnywhere 使用一种策略确定何时发生消息传输。policy-type 可以是下列值之一:

  • 要求时   仅当 QAnywhere 客户端应用程序进行适当的方法调用时,才传输消息。

    QAManager PutMessage() 方法使消息在本地排队。直到调用 QAManager TriggerSendReceive() 方法后,才将这些消息传输到服务器。同样,直到客户端调用 TriggerSendReceive() 方法后才将在服务器上等待的消息发送给客户端。

    使用 [要求时] 策略时,应用程序负责在从服务器收到推式通知后触发消息传输。推式通知会导致将系统消息发送到 QAnywhere 客户端。在应用程序中,可以选择通过调用 TriggerSendReceive() 响应此系统消息。

    有关示例内容,请参见系统队列

  • 调度   按指定的时间间隔传输消息。缺省值为 900 秒(15 分钟)。

    指定调度后,只要满足以下任何一个条件,代理就将每隔 n 秒钟执行一次消息传输:

    • 前一个时间间隔结束后在客户端消息存储库中放入了新的消息。

    • 前一个时间间隔结束后某条消息的状态发生了更改。当某条消息得到应用程序的确认时通常会发生这种情况。

    • 前一个时间间隔结束后接收到推式通知。

    • 前一个时间间隔结束后接收到网络状态更改通知。

    • 推式通知被禁用。

    可调用 TriggerSendReceive 方法来替换时间间隔。该方法会强制在时间间隔结束前传输消息。

  • 自动   发生下面描述的事件之一时,将传输消息。

    QAnywhere UltraLite 代理尝试保持消息队列为最新。下面的任一事件会导致将客户端的消息队列传送到服务器并将服务器的消息队列传送到客户端:

    • 调用 PutMessage()。

    • 调用 TriggerSendReceive()。

    • 出现推式通知。

      有关通知的信息,请参见使用推式通知进行消息传递的方案

    • 客户端上发生消息状态更改。例如,当应用程序从本地队列中检索消息时消息状态会从待执行更改为已接收。

  • rules-file   指定客户端传输规则文件。传输规则文件可以指示一组更复杂的规则以确定何时传输消息。

    请参见客户端传输规则

另请参见