Docs Menu
Docs Home
/ /
Atlas Device SDK
/ / /

인터페이스 DiscardUnsyncedChangesStrategy

이 페이지의 내용

  • io.realm.mongodb.sync
  • 메서드 요약
  • 상속된 메서드
  • 메서드 세부 정보
  • onAfterReset
  • onBeforeReset
  • onError

구현된 인터페이스:

동기화되지 않은 데이터를 모두 삭제하여 클라이언트 재설정을 자동으로 해결하지만, 그렇지 않으면 Realm 을 열린 상태로 유지하는 전략입니다. 모든 변경 사항은 일반 컬렉션 및 객체 알림 을 통해 보고됩니다. MongoDB Realm 서버에 오류가 발생하여 백업 에서 복원했거나 클라이언트 가 서버에 연결한 지 너무 오래되었기 때문에 동기화된 Realm 을 재설정해야 할 수 있습니다. 서버 가 로그 서버 로테이션했습니다.

따라서 클라이언트 재설정이 발생하는 이유는 서버에 클라이언트를 최신 상태로 유지하는 데 필요한 전체 정보가 없기 때문입니다.

동기화되지 않은 변경 사항 삭제 재설정 프로세스 는 다음과 같습니다: 클라이언트 재설정 이 트리거되면 onBeforeReset(Realm) 콜백 이 호출되어 재설정 전의 Realm 인스턴스와 재설정 후 다른 Realm 인스턴스 를 모두 읽기 전용으로 제공합니다. 재설정이 완료되면 최종 Realm 인스턴스 와 함께 onAfterReset( Realm, Realm ) 콜백 이 호출됩니다.

동기화되지 않은 데이터를 삭제 해도 onError(SyncSession, ClientResetRequiredError) 이벤트 호출되는 재설정을 해결할 수 없는 경우, manuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError) 에서 수행하는 것처럼 재설정을 수동으로 해결할 수 있습니다.

수정자 및 유형
메서드 및 설명
public void
Realm before,
Realm after
)

클라이언트 재설정이 발생하면 호출되는 콜백입니다.

public void

클라이언트 재설정이 곧 발생함을 나타내는 콜백입니다.

public void

원활한 클라이언트 재설정을 완료할 수 없음을 나타내는 콜백입니다.

public void onAfterReset (
Realm before,
Realm after
)

클라이언트 재설정이 발생하면 호출되는 콜백입니다. 재설정 전 상태를 표시하는 동결 Realm 인스턴스와 현재 상태의 일반 Realm 인스턴스, 재설정 후 객체를 복구하는 데 사용할 수 있는 두 가지 Realm 인스턴스를 제공합니다.

매개변수

  • before - Realm 은 재설정 전 Realm 을 동결했습니다.

  • after - 재설정 후 Realm Realm.

public void onBeforeReset (
Realm realm
)

클라이언트 재설정이 곧 발생함을 나타내는 콜백입니다. 재설정되는 Realm의 동결된 인스턴스를 제공합니다.

매개변수

  • realm - 재설정 전 상태의 Realm 동결.

public void onError (
)

원활한 클라이언트 재설정을 완료할 수 없음을 나타내는 콜백입니다. 이는 ManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError) 로 처리되어야 합니다.

매개변수

돌아가기

ConnectionState