Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
在同步期间当下载由于通信错误而失败时,此参数控制 UltraLite 是否保留部分下载而不回退更改。
public void setKeepPartialDownload(Boolean v)
v 要保存部分下载,请设置为 true;要回退部分下载,请设置为 false。
UltraLite 能够重新启动由于通信错误而失败的下载。UltraLite 在接收下载的过程中对其进行处理。如果下载被中断,则部分下载事务仍保留在数据库中,并且可在下一次同步过程中恢复。
要指示 UltraLite 应保存部分下载,请指定 Connection.syncParms.setKeepPartialDownload(true);否则当发生错误时将回退下载。
如果保留了部分下载,则当 connection.synchronize() 退出时,输出字段 connection.SyncResult.getPartialDownloadRetained() 将设置为 true。如果设置了 getPartialDownloadRetained(),则可以继续下载。为此,请在调用 connection.synchronize() 时将 connection.syncParms.setResumePartialDownload(boolean) 设置为 true。如果发生另一个通信错误,则可能需要将 KeepPartialDownload 设置为 true。 如果跳过某一下载,将不执行任何上载。
您在恢复下载期间接收的下载会与下载最初开始时一样旧。如果您需要最新数据,则可以在专门的恢复下载完成后再立即进行一次下载。
在恢复下载时,许多 SyncParms 字段是无关的字段。例如,PublicationMask 字段就是不使用的字段。您会收到在最初下载时请求的发布。只需要设置字段 setResumePartialDownload(boolean) 和 setUserName(String)。如果需要,可以设置字段 setKeepPartialDownload(boolean),并且该字段会正常工作。
如果不再需要现有的部分下载,则可以调用 Connection.rollbackPartialDownload() 回退失败的下载事务。此外,如果您尝试再次同步但没有指定 ResumePartialDownload,则部分下载在下次同步开始之前将回退。
有关详细信息,请参见如何处理同步失败。