类同步
- java.lang.Object
-
- io.realm.mongodb.sync.Sync
-
公共抽象类Sync扩展了Object
同步经理,用于处理本地 Realm 与远程 Realm 应用的同步。其主节点 (primary node in the replica set)角色是访问权限已同步Realm的
SyncSession
。 打开同步Realm后,您可以访问权限SyncSession
并执行同步相关操作,如下所示:App 应用 = new App("app-id"); User user = 应用.login(Credentials.anonymous()); SyncConfiguration syncConfiguration = new SyncConfiguration.Builder(user, "<partition value> ") 。 构建();Realm 实例= Realm.getInstance(syncConfiguration); SyncSession session = 应用.getSync().getSession(syncConfiguration); 实例.executeTransaction(域 -> { 域.insert(...); }); session.uploadAllLocalChanges(); 实例.close();
-
-
嵌套类摘要
嵌套类 修饰符和类型 类 说明 static class
Sync.Debug
调试相关选项。
-
方法摘要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 Collection<SyncSession>
getAllSessions()
获取所有缓存的SyncSession
的collection。SyncSession
getOrCreateSession(SyncConfiguration syncConfiguration)
获取给定 的任何缓存的SyncSession
SyncConfiguration
,如果不存在,则创建一个新缓存。SyncSession
getSession(SyncConfiguration syncConfiguration)
获取给定 的缓存SyncSession
SyncConfiguration
,如果尚不存在,则抛出异常。void
reconnect()
Realm 会自动检测设备何时在离线后恢复连接并恢复同步。
-
-
-
方法详细信息
-
getSession
public SyncSession getSession( SyncConfiguration syncConfiguration) 抛出IllegalStateException
- 参数:
syncConfiguration
- 同步Realm的配置对象。- 返回:
- 指定Realm的
SyncSession
。 - 抛出异常:
IllegalArgumentException
- 如果 syncConfiguration 为null
。IllegalStateException
- 如果使用提供的SyncConfiguration
找不到会话。
-
getAllSessions
public Collection<SyncSession> getAllSessions()
获取所有缓存的SyncSession
的collection。- 返回:
SyncSession
的集合。
-
getOrCreateSession
public SyncSession getOrCreateSession( SyncConfiguration syncConfiguration)
获取给定 的任何缓存的SyncSession
SyncConfiguration
,如果不存在,则创建一个新缓存。注意:这主要供内部使用,请考虑改用getSession(SyncConfiguration)
。- 参数:
syncConfiguration
- 同步Realm的配置对象。- 返回:
- 指定Realm的
SyncSession
。 - 抛出异常:
IllegalArgumentException
- 如果 syncConfiguration 为null
。
-
重新连接
public void reconnect()
Realm 会自动检测设备何时在离线后恢复连接并恢复同步。但是,由于其中一些检查是使用增量退避来执行的,因此在某些情况下这不会立即发生。
在这些情况下,手动调用此方法可能会有好处,这将强制所有会话立即尝试重新连接,并重置它们用于增量退避的任何计时器。
-
-