Interface DiscardUnsyncedChangesStrategy
-
- Todas as interfaces:
SyncClientResetStrategy
public interface DiscardUnsyncedChangesStrategy extends SyncClientResetStrategy
Estratégia que resolve automaticamente um reinício do cliente descartando quaisquer dados não sincronizados, mas mantendo o Realm aberto. Quaisquer alterações serão relatadas por meio da collection normal e das notificações de objeto.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 de descarte de alterações não sincronizadas é o seguinte: quando uma redefinição de cliente é acionada, a chamada de resposta
onBeforeReset(Realm)
é invocada, fornecendo uma instância do Realm antes da redefinição e outra após a redefinição, ambas somente para leitura. Depois que o reinício for concluído, a chamada de respostaonAfterReset(Realm, Realm)
será invocada com uma instância do Realm final.No evento de que o descarte dos dados não sincronizados não seja suficiente para resolver a redefinição que o
onError(SyncSession, ClientResetRequiredError)
seria invocado, ele permite resolver manualmente a redefinição, como seria feito emManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError)
.
-
-
Resumo do método
Todos os métodos Métodos de instância Métodos abstratos Modificador e tipo Método Descrição void
onAfterReset(Realm before, Realm after)
O retorno de chamada é invocado assim que o reinício do cliente acontece.void
onBeforeReset(Realm realm)
Chamada de resposta que indica que um reinício do cliente está prestes a acontecer.void
onError(SyncSession session, ClientResetRequiredError error)
Chamada de retorno que indica que a redefinição contínua do cliente não pôde ser concluída.
-
-
-
Detalhes do método
-
onBeforeReset
hook onBeforeReset(Realm realm)
Chamada de resposta que indica que um reinício do cliente está prestes a acontecer. Ele fornece uma instância congelada do Realm que será redefinida.- Parâmetros:
realm
-Realm
congelado em seu estado antes da redefinição.
-
onAfterReset
hook onAfterReset(Realm antes, Realm depois)
O retorno de chamada é invocado assim que o reinício do cliente acontece. Ele fornece duas Instância de Realm, uma congelada exibindo o estado antes da redefinição e um Realm regular com o estado atual, que pode ser usado para recuperar objeto da redefinição.
-
onError
anular onError (sessão SyncSession , erro ClientResetRequiredError )
Chamada de resposta que indica que o reinício do cliente contínuo não pôde ser concluído. Deve ser tratado comoManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError)
.- Parâmetros:
session
-SyncSession
este erro aconteceu em.error
-ClientResetRequiredError
o erro específico de reinício do cliente.
-
-