因为重新发送消息会中断常规的消息发送过程,所以消息代理 (dbremote) 延迟处理重发请求。缺省情况下,消息代理 (dbremote) 等待的时间等于请求重新发送的远程用户的发送频率的一半。
要重新发送消息,消息代理 (dbremote) 将执行以下任务:
它停止扫描事务日志和构建新消息。
它删除当前存储在高速缓存中等待发送的消息。消息代理 (dbremote) 在读取事务日志和构建这些消息的过程中所做的所有工作都将丢失。
它从重发请求所请求的偏移中重新读取事务日志。消息代理 (dbremote) 构建消息并将其存储在高速缓存中。
它一直等到达到下一个发送频率时间,然后发送消息。
必须平衡好发送消息重发请求的紧急程度与处理常规消息的优先级。
-ru 选项控制重发请求的紧急程度。要延迟处理重发请求直到接收到更多的重发请求,请将此选项设置为较长的时间。例如,以下命令将等待一小时,然后再处理重发请求:
dbremote -c "DSN=SQL Anywhere 11 Demo" -ru 1h |
请参见消息代理 (dbremote)。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |