パッケージ 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)
と同様にリセットを手動で解決できます。
-
-
メソッドの概要
すべてのメソッド インスタンス メソッド 抽象メソッド 修飾子と型 方式 説明 void
onAfterReset(Realm before, Realm after)
クライアントのリセットが発生すると呼び出されるコールバック。void
onBeforeReset(Realm realm)
クライアントリセットがこれから実行されることを示すコールバック。void
onError(SyncSession session, ClientResetRequiredError error)
シームレスなクライアント リセットが完了しなかったことを示すコールバック。
-
-
-
メソッドの詳細
-
onBeforeReset
empty onBeforeReset( Realm邦土)
クライアントリセットがこれから実行されることを示すコールバック。 これは、リセットされる Realm の固定インスタンスを提供します。- パラメーター:
realm
- リセット前の状態でRealm
を固定していました。
-
onAfterReset
empty onAfterReset( 以前はRealm 、以降はRealm )
クライアントのリセットが発生すると呼び出されるコールバック。 これにより、リセット前の状態を表示する固定のものと、現在の状態を持つ通常の Realm インスタンスの 2 つの Realm インスタンスが提供され、リセットからオブジェクトを回復するために使用できます。
-
onError
void onError(SyncSession session, ClientResetRequiredError error)
シームレスなクライアント リセットが完了しなかったことを示すコールバック。 これはManuallyRecoverUnsyncedChangesStrategy.onClientReset(SyncSession, ClientResetRequiredError)
として処理されます。- パラメーター:
session
- このエラーはSyncSession
で発生しました。error
-ClientResetRequiredError
特定のクライアント リセット エラー。
-
-