InterfaceRecuperar manualmente alterações não sincronizadasEstratégia
-
- Todas as interfaces:
SyncClientResetStrategy
- Todas as subinterfaces conhecidas:
SyncSession.ClientResetHandler
public interface ManuallyRecoverUnsyncedChangesStrategy extends SyncClientResetStrategy
Estratégia para resolver manualmente um reinício do cliente, determinada pelo código de erroErrorCode.CLIENT_RESET
.Um Realm sincronizado pode precisar ser redefinido porque o Servidor MongoDB Realm encontrou um erro e teve que ser restaurado a partir de um backup ou porque passou muito tempo desde que o cliente se conectou ao servidor, então o servidor rotacionou os logs.
O reinício do cliente, portanto, ocorre porque o servidor não tem as informações completas 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 Realm para essa URL for aberto, o Realm será automaticamente baixado do MongoDB Realm e poderá ser usado normalmente.
Os dados gravados no Realm após a cópia local do Realm 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:
-
Execute
ClientResetRequiredError.executeClientReset()
manualmente. Todas as Instância de Realm devem ser fechadas antes que este método seja chamado. - 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.
-
-
Resumo do método
Todos os métodos Métodos de instância Métodos abstratos Modificador e tipo Método Descrição void
onClientReset(SyncSession session, ClientResetRequiredError error)
Chamada de resposta que indica que um reinício do cliente aconteceu.
-
-
-
Detalhes do método
-
onClientReset
anular onClientReset (sessão SyncSession , erro ClientResetRequiredError )
chamada de resposta que indica que um reinício do cliente aconteceu. Isso deve ser resolvido o mais rápido possível, pois quaisquer alterações adicionais no Realm não serão sincronizadas com o servidor e deverão ser movidas manualmente do Realm de backup para o novo.- Parâmetros:
session
-SyncSession
este erro aconteceu em.error
-ClientResetRequiredError
o erro específico de reinício do cliente.
-
-