인터페이스 DiscardUnsyncedChangesStrategy
io.realm.mongodb.sync
구현된 인터페이스:
동기화되지 않은 데이터를 모두 삭제하여 클라이언트 재설정을 자동으로 해결하지만, 그렇지 않으면 Realm 을 열린 상태로 유지하는 전략입니다. 모든 변경 사항은 일반 컬렉션 및 객체 알림 을 통해 보고됩니다. MongoDB Realm 서버에 오류가 발생하여 백업 에서 복원했거나 클라이언트 가 서버에 연결한 지 너무 오래되었기 때문에 동기화된 Realm 을 재설정해야 할 수 있습니다. 서버 가 로그 서버 로테이션했습니다.
따라서 클라이언트 재설정이 발생하는 이유는 서버에 클라이언트를 최신 상태로 유지하는 데 필요한 전체 정보가 없기 때문입니다.
동기화되지 않은 변경 사항 삭제 재설정 프로세스 는 다음과 같습니다: 클라이언트 재설정 이 트리거되면 onBeforeReset(Realm) 콜백 이 호출되어 재설정 전의 Realm 인스턴스와 재설정 후 다른 Realm 인스턴스 를 모두 읽기 전용으로 제공합니다. 재설정이 완료되면 최종 Realm 인스턴스 와 함께 onAfterReset( Realm, Realm ) 콜백 이 호출됩니다.
동기화되지 않은 데이터를 삭제 해도 onError(SyncSession, ClientResetRequiredError) 이벤트 호출되는 재설정을 해결할 수 없는 경우, manuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError) 에서 수행하는 것처럼 재설정을 수동으로 해결할 수 있습니다.
메서드 요약
수정자 및 유형 | 메서드 및 설명 |
---|---|
public void | 클라이언트 재설정이 발생하면 호출되는 콜백입니다. |
public void | 클라이언트 재설정이 곧 발생함을 나타내는 콜백입니다. |
public void | 원활한 클라이언트 재설정을 완료할 수 없음을 나타내는 콜백입니다. |
상속된 메서드
메서드 세부 정보
onAfterReset
onBeforeReset
onError
원활한 클라이언트 재설정을 완료할 수 없음을 나타내는 콜백입니다. 이는 ManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError) 로 처리되어야 합니다. 매개변수
|