ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Docs Menu

인터페이스 DiscardUnsyncedChangesStrategy

구현된 인터페이스:

동기화되지 않은 데이터를 모두 삭제하여 클라이언트 재설정을 자동으로 해결하지만, 그렇지 않으면 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) 로 처리되어야 합니다.

매개변수