パッケージ io.realm.mongodb.sync
インターフェース ManuallyReoverUnsyncedchangesStratey
-
- すべてのスーパーインターフェース:
SyncClientResetStrategy
- すべての既知のサブインターフェース:
SyncSession.ClientResetHandler
public interface ManuallyRecoverUnsyncedChangesStrategy extends SyncClientResetStrategy
エラー コードErrorCode.CLIENT_RESET
によって決定される、 クライアントリセット を手動で解決するための戦略。同期された Realm をリセットする必要があるのは、MongoDB Realm Server でエラーが発生し、バックアップから復元する必要があったため、またはクライアントがサーバーに接続してから時間が経過しすぎてサーバーがログをローテーションしたためです。
したがって、クライアントを完全に最新の状態にするために必要な完全な情報がサーバーにないために、クライアントリセットが発生します。
手動リセットのプロセスは次のとおりです。Realm のローカル コピーは、安全性を確保するためにリカバリ ディレクトリにコピーされ、その後、元の場所から削除されます。 次にその URL の Realm が開かれると、Realm は MongoDB Realm から自動的に再ダウンロードされ、通常どおり使用できるようになります。
バックアップ リモート コピーから相違した Realm のローカル コピーの後に Realm に書き込まれたデータは、Realm ファイルのローカル リカバリ コピーに存在します。 再ダウンロードされた Realm には、最初は Realm がサーバー上でバックアップされていた時点でのデータのみが含まれます。
クライアント リセット プロセスは、次の 2 つの方法のいずれかで開始されます。
-
ClientResetRequiredError.executeClientReset()
を手動で実行します。 このメソッドを呼び出す前に、すべての Realm インスタンスを閉じる必要があります。 - クライアントリセットが手動で実行されない場合、次にすべての Realm インスタンスが閉じてから再度開かれたときに自動的に実行されます。 アプリを再起動した際に、 である可能性が高くなります。
-
-
メソッドの概要
すべてのメソッド インスタンス メソッド 抽象メソッド 修飾子と型 方式 説明 void
onClientReset(SyncSession session, ClientResetRequiredError error)
クライアント リセットが発生したことを示すコールバック。
-
-
-
メソッドの詳細
-
onClientReset
void onClientReset(SyncSession session, ClientResetRequiredError error)
クライアント リセットが発生したことを示すコールバック。 これは、Realm へのこれ以上の変更はサーバーと同期されず、バックアップ Realm から新しい Realm に手動で移動する必要があるため、可能な限り迅速に処理する必要があります。- パラメーター:
session
- このエラーはSyncSession
で発生しました。error
-ClientResetRequiredError
特定のクライアント リセット エラー。
-
-