パッケージ io.realm.mongodb.sync

Interface DiscardUnsyncedchangesStratey

  • すべてのスーパーインターフェース:
    SyncClientResetStrategy

    public interface DiscardUnsyncedChangesStrategy
    extends SyncClientResetStrategy
    同期されていないデータを破棄することでクライアントリセットを自動的に解決する戦略ですが、それ以外の場合は Realm を開いたままにします。 すべての変更は、通常のコレクションとオブジェクト通知を通じて報告されます。

    同期された Realm をリセットする必要があるのは、MongoDB Realm Server でエラーが発生し、バックアップから復元する必要があったため、またはクライアントがサーバーに接続してから時間が経過しすぎてサーバーがログをローテーションしたためです。

    したがって、クライアントを完全に最新の状態にするために必要な完全な情報がサーバーにないために、クライアントリセットが発生します。

    同期されていない変更を破棄するリセット プロセスは次のとおりです。クライアント リセットがトリガーされると、 onBeforeReset(Realm)コールバックが呼び出され、リセット前に Realm のインスタンスとリセット後に別のインスタンスが提供されます。いずれも読み取り専用です。 リセットが終了すると、コールバックonAfterReset(Realm, Realm)が最終 Realm のインスタンスを使用して呼び出されます。

    同期されていないデータを破棄しても、 onError(SyncSession, ClientResetRequiredError)が呼び出されるリセットを解決するのに十分ではない場合、 ManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError)と同様にリセットを手動で解決できます。

    • メソッドの詳細

      • onBeforeReset

        empty onBeforeReset( Realm邦土)
        クライアントリセットがこれから実行されることを示すコールバック。 これは、リセットされる Realm の固定インスタンスを提供します。
        パラメーター:
        realm - リセット前の状態でRealmを固定していました。
      • onAfterReset

        empty onAfterReset( 以前はRealm 、以降はRealm
        クライアントのリセットが発生すると呼び出されるコールバック。 これにより、リセット前の状態を表示する固定のものと、現在の状態を持つ通常の Realm インスタンスの 2 つの Realm インスタンスが提供され、リセットからオブジェクトを回復するために使用できます。
        パラメーター:
        before - リセット前では、 Realmが Realm を固定していました。
        after - リセット後のRealm Realm。