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