ManualmenteEstratégia de recuperaçãodealterações não sincronizadas

Estratégia para resolver manualmente um reinício do cliente.

Um Realm sincronizado pode precisar ser redefinido porque o Realm Mobile Sync encontrou um erro e teve que ser restaurado a partir de um backup, ou porque faz muito tempo desde que o cliente se conectou ao servidor, então o servidor gire os logs.

O reinício do cliente, portanto, ocorre porque o servidor não tem todas as informações necessárias para deixar o cliente totalmente atualizado.

O processo de redefinição manual é o seguinte: a cópia local do Realm é copiada em um diretório de recuperação para proteção e, em seguida, excluída do local original. Da próxima vez que o domínio dessa URL for aberto, ele será automaticamente baixado do Atlas e poderá ser usado normalmente.

Os dados gravados no Realm após a cópia local de si mesma particionar da cópia remota de backup estarão presentes na cópia de recuperação local do Arquivo de Realm. O Realm rebaixado conterá inicialmente apenas os dados presentes no momento em que o Realm foi copiado no servidor.

O processo de reinício do cliente pode ser iniciado de duas maneiras:

  1. Execute ClientResetRequiredException.executeClientReset manualmente. Todas as instâncias do Realm devem ser fechadas antes que este método seja chamado.

  2. Se a redefinição do cliente não for executada manualmente, ela será executada automaticamente na próxima vez que todas as instâncias do Realm tiverem sido fechadas e reabertas. Isso provavelmente será quando o aplicativo for reiniciado.

AVISO: qualquer escrita no Arquivo de Realm entre esta chamada de resposta e o reinício do cliente tiver sido executada, não será sincronizada com o Atlas. Essas alterações só estarão presentes no arquivo de backup. Portanto, é recomendável fechar todas as Instância de Realm o mais rápido possível.

Funções

Link copiado para a área de transferência
resumo Diversão onClientReset(sessão: SyncSession, exceção: ClientResetRequiredException)

chamada de resposta que indica que um reinício do cliente aconteceu. Isso deve ser resolvido o mais rápido possível, pois qualquer alteração adicional no Realm não será sincronizada com o servidor e deverá ser movida manualmente do Realm de backup para o novo.