Docs Menu
Docs Home
/ /
io.realm.mongodb.sync

Interfaz SyncSession.ClientResetHandler

Interfaces implementadas:

Clase envolvente:

SyncSession

Devolución de llamada para el evento de error específico conocido como restablecimiento de cliente, determinado por el código de error ErrorCode.CLIENT_RESET.

Es posible que sea necesario restablecer un reino sincronizado porque el servidor MongoDB Realm encontró un error y tuvo que restaurarse desde una copia de seguridad o porque ha pasado demasiado tiempo desde que el cliente se conectó al servidor y el servidor 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 es el siguiente: la copia local del dominio se copia a un directorio de recuperación para su protección y luego se elimina de la ubicación original. La próxima vez que se abra el dominio de esa URL, se descargará automáticamente de MongoDB Realm y podrá usarse con normalidad.

Los datos escritos en el dominio después de que la copia local del dominio se separara de la copia de seguridad remota estarán presentes en la copia de recuperación local del archivo del dominio. El dominio descargado nuevamente contendrá inicialmente solo los datos presentes al momento de la copia de seguridad del dominio en el servidor.

El proceso de reinicio del cliente se puede iniciar de dos maneras:

  1. Ejecute ClientResetRequiredError.executeClientReset() manualmente. Todas las instancias de Realm deben cerrarse antes de llamar a este método.

  2. Si el restablecimiento del cliente no se ejecuta manualmente, se realizará automáticamente la próxima vez que se cierren y vuelvan a abrir todas las instancias de Realm. Probablemente, esto ocurrirá al reiniciar la aplicación.

ADVERTENCIA: Cualquier escritura en el archivo Realm entre esta devolución de llamada y la ejecución del reinicio del cliente no se sincronizará con MongoDB Realm. Dichos cambios solo se incluirán en el archivo respaldado. Por lo tanto, se recomienda cerrar todas las instancias de Realm abiertas lo antes posible.

Volver

SyncSession

En esta página