setKeepPartialDownload method

Specifies whether to disable or enable partial downloads when synchronizing.

Syntax
setKeepPartialDownload( Boolean value )
Parameters
  • value   Set to true to enable the retention of partial downloads when synchronizing, or set to false to discard partial downloads.

Remarks

UltraLite has the ability to restart downloads that fail because of communication errors. UltraLite processes the download as it is received. If a download is interrupted, then the partial download transaction will remain in the database and can be resumed during the next synchronization.

To indicate that UltraLite should save partial downloads, specify Connection.syncParms.setKeepPartialDownload(true); otherwise the download will be rolled back if an error occurs.

If a partial download was kept, then the output field connection.SyncResult.getPartialDownloadRetained is set to true when the connection.synchronize exits. If getPartialDownloadRetained is set, then you can resume a download. To do this, call connection.synchronize with connection.syncParms.setResumePartialDownload(true). You may still want KeepPartialDownload set to true as well in case another communication error occurs. No upload is done if a download is skipped.

The download you receive during a resumed download will be as old as when the download originally began. If you need the most up to date data, then you can do another download immediately after the special resumed download completes.

When resuming a download, many of the SyncParms fields are not relevant. You receive the publications requested on the initial download. The only fields that need to be set are setResumePartialDownload(boolean) and setUserName(String). The fields setKeepPartialDownload(boolean), setDownloadOnly(boolean), and setDisableConcurrency(boolean) may be set if desired and function as normal.

If you have a partial download and it is no longer needed, then you can call Connection.rollbackPartialDownload to roll back the failed download transaction. Also if you attempt to synchronize again and do not specify ResumePartialDownload, then the partial download rolls back before the next synchronization begins.

See How synchronization failure is handled.