복구 또는 동기화되지 않은 변경 사항 폐기 전략
클라이언트 재설정 중에 동기화되지 않은 변경 사항을 자동으로 복구하려고 시도하며, 복구가 실패하면 변경 사항이 삭제됩니다.
MongoDB Realm 서버에 오류가 발생하여 백업에서 복원해야 하거나 클라이언트가 서버에 연결한 지 너무 오래되어 서버의 로그가 회전했기 때문에 동기화된 Realm을 재설정해야 할 수 있습니다.
따라서 클라이언트 재설정이 발생하는 이유는 서버에 클라이언트를 최신 상태로 유지하는 데 필요한 모든 정보가 없기 때문입니다.
동기화되지 않은 변경 사항을 복구하거나 삭제하는 프로세스는 다음과 같습니다: 클라이언트가 클라이언트 재설정을 수신하면 onBeforeReset 콜백이 호출된 후 클라이언트가 재설정됩니다. 재설정이 완료되면 변경 사항이 성공적으로 복구된 경우 onAfter Recovery 콜백이 호출되고, 그렇지 않으면 변경 사항이 삭제되고 onAfterDiscard 가 호출됩니다.
클라이언트 재설정 후에도 동기화되지 않은 데이터를 삭제할 수 없는 경우 onManualResetFallback 이 호출됩니다. 이를 통해 수동으로 수행했던 재설정을 수동 으로 해결할 수 있습니다.
함수
클라이언트 재설정이 동기화되지 않은 변경 사항을 복구할 수 없어 삭제한 후에 호출되는 콜백입니다. 두 가지 Realm 인스턴스, 재설정 전 상태를 표시하는 동결 인스턴스와 재설정 후 객체를 복구하는 데 사용할 수 있는 현재 상태를 표시하는 일반 Realm 인스턴스를 제공합니다.
클라이언트 재설정이 동기화되지 않은 변경 사항을 성공적으로 복구하면 콜백이 호출됩니다. 두 가지 Realm 인스턴스를 제공합니다, 재설정 전 상태를 표시하는 동결 인스턴스와 현재 상태를 표시하는 변경 가능한 Realm 인스턴스.
클라이언트 재설정이 곧 발생함을 나타내는 콜백입니다. 재설정될 영역의 동결된 인스턴스를 수신합니다.
클라이언트 재설정이 완료되지 않았음을 나타내는 콜백입니다. 이는 수동 으로 복구 UnsyncedChangesStrategy.onClientReset 에서처럼 처리되어야 합니다.