io.realm.mongodb.sync
Interfaces implementadas:
Estrategia que resuelve automáticamente un restablecimiento de cliente descartando los datos no sincronizados, pero que, por lo demás, mantiene abierto el dominio. Cualquier cambio se notificará mediante las notificaciones habituales de colección y objeto. Es posible que sea necesario restablecer un dominio sincronizado porque el servidor de dominios MongoDB detectó un error y tuvo que restaurarse desde una copia de seguridad, o porque ha transcurrido demasiado tiempo desde que el cliente se conectó al servidor, por lo que este ha rotado los registros.
El reinicio del cliente ocurre porque el servidor no tiene toda la información necesaria para actualizar completamente el cliente.
El proceso de restablecimiento para descartar cambios no sincronizados es el siguiente: cuando se activa un restablecimiento del cliente, Se invoca la funciónonBeforeReset(Realm), que proporciona una instancia del dominio antes del reinicio y otra después, ambas de solo lectura. Una vez finalizado el reinicio, se invoca la función onAfterReset(Realm, Realm) con una instancia del dominio final.
En el caso de que descartar los datos no sincronizados no sea suficiente para resolver el restablecimiento, se invocará onError(SyncSession, ClientResetRequiredError), que permite resolver manualmente el restablecimiento como se haría en ManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError).
Resumen del método
Modificador y Tipo | Método y descripción |
|---|---|
vacío público | Se invoca una devolución de llamada una vez que se produce el restablecimiento del cliente. |
vacío público | Función de retorno que indica que está a punto de ocurrir un restablecimiento del cliente. |
vacío público | Devolución de llamada que indica que no se pudo completar el restablecimiento sin problemas del cliente. |
Métodos heredados
Detalle del método
onAfterReset
Función de retorno invocada una vez que ocurra el restablecimiento del cliente. Proporciona dos instancia Realm, una congelada que muestra el estado antes del restablecimiento y una instancia normal de Realm con el estado actual, que se puede utilizar para recuperar objetos del restablecimiento. Parámetros |
enAntes de reiniciar
Retrollamada que indica que el cliente está a punto de reiniciarse. Proporciona una instancia congelada del dominio que se va a reiniciar. Parámetros
|
onError
Retrollamada que indica que no se pudo completar el restablecimiento sin interrupciones del cliente. Debe gestionarse como ManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError). Parámetros
|