io.realm.mongodb.sync
Una sesión controla cómo se sincronizan los datos entre un dominio en el dispositivo y el dominio del servidor en el servidor de objetos de dominio. Una sesión se crea abriendo una instancia de dominio mediante una configuración de sincronización. Una vez creada, la sesión continuará existiendo hasta que se cierre la aplicación o hasta que todos los subprocesos que usan esta configuración de sincronización cierren sus respectivos dominios.
Realm controla una sesión, pero puede proporcionar información adicional en caso de errores. Estos errores se transmiten en SyncSession.ErrorHandler.
Al crear una sesión, Realm establecerá una conexión con el servidor. Esta conexión está controlada por Realm y puede compartirse entre varias sesiones. Es posible obtener información sobre la conexión mediante addConnectionChangeListener(ConnectionListener) e isConnected().
La sesión en sí tiene un ciclo de vida diferente al de la conexión subyacente. El estado de la sesión se puede consultar mediante getState().
El objeto SyncSession es seguro para subprocesos.
Resumen de clases anidadas
Modificador y Tipo | Clase y descripción |
|---|---|
| |
| |
|
Resumen del método
Modificador y Tipo | Método y descripción |
|---|---|
vacío público sincronizado | Agrega un oyente que rastrea los cambios en la conexión que respalda esta sesión. |
vacío público sincronizado | Agrega un detector de progreso que rastrea los cambios que deben descargarse desde el servidor de objetos Realm. |
vacío público sincronizado | Agrega un detector de progreso que rastrea los cambios que deben cargarse desde el dispositivo al servidor de objetos Realm. |
booleanopúblico | Al llamar a este método se bloqueará hasta que se hayan descargado y aplicado todos los cambios remotos conocidos al Reino o se alcance el tiempo de espera especificado. |
vacío público | Llamar a este método bloqueará hasta que se hayan descargado y aplicado todos los cambios remotos conocidos al Realm. |
público SyncConfiguration | Devuelve la SyncConfiguration que es responsable de controlar la sesión. |
Estado de conexión público | Obtenga el estado actual de la conexión utilizada por la sesión según se define en ConnectionState. |
URIpública | getServerUrl () Devuelve la URI que describe el reino remoto al que esta sesión se conecta y con el que sincroniza los cambios. |
sesión de sincronización pública.Estado | getState () Obtenga el estado de la sesión actual, como se define en SyncSession.State. |
getUser () Devuelve el usuario definido por SyncConfiguration que se utiliza para conectarse a MongoDB Realm. | |
booleanopúblico | isConnected () Comprueba si la sesión está conectada al servidor y puede sincronizar datos. |
vacío público sincronizado | Remueve una ConnectionListener previamente registrada. |
vacío público sincronizado | Elimina un detector de progreso. |
vacío público sincronizado | start () Intenta iniciar la sesión y habilitar la sincronización con el servidor de objetos Realm. |
vacío público sincronizado | stop () Detiene cualquier sincronización con el servidor de objetos Realm hasta que el Realm se vuelva a abrir después de cerrarlo por completo. |
booleanopúblico | Al llamar a este método se bloqueará hasta que se hayan cargado todos los cambios locales conocidos en el servidor o se alcance el tiempo de espera especificado. |
vacío público | Al llamar a este método se bloqueará hasta que todos los cambios locales conocidos se hayan cargado en el servidor. |
Métodos heredados
Detalle del método
añadirListener de cambio de conexión
Añade un detector que rastrea los cambios en la conexión que respalda esta sesión. Consulta ConnectionState para más detalles. Parámetros
Lanzamientos
|
añadir escucha de progreso de descarga
Agrega un detector de progreso que rastrea los cambios que deben descargarse desde el servidor de objetos Realm. El ProgressListener se activará inmediatamente cuando se registre y periódicamente después. Parámetros
|
addUploadProgressListener
Agrega un detector de progreso que rastrea los cambios que deben cargarse desde el dispositivo al servidor de objetos Realm. El ProgressListener se activará inmediatamente cuando se registre y periódicamente después. Parámetros
|
Descargar todos los cambios del servidor
Al llamar a este método, se bloqueará hasta que se hayan descargado y aplicado todos los cambios remotos conocidos al dominio o hasta que se alcance el tiempo de espera especificado. Esto implica acceso a la red, por lo que solo se debe llamar desde un subproceso que no sea de interfaz de usuario. No se puede llamar a este método antes de que se abra el dominio. Devuelve
Lanzamientos
|
public void downloadAllServerChanges () |
|---|
Llamar a este método bloqueará el proceso hasta que se hayan descargado y aplicado todos los cambios remotos conocidos al dominio. Esto implica acceso a la red, por lo que solo se debe llamar desde un subproceso que no sea de interfaz de usuario. Si el dispositivo está sin conexión, es posible que este método no regrese. Este método no se puede llamar antes de que se haya iniciado la sesión. Lanzamientos
|
getConfiguration
public SyncConfiguration getConfiguration () |
|---|
Devuelve la SyncConfiguration que es responsable de controlar la sesión. Devuelve SyncConfiguration que define y controla esta sesión. |
obtenerEstadoDeConexión
public ConnectionState getConnectionState () |
|---|
Obtenga el estado actual de la conexión utilizada por la sesión según se define en ConnectionState. Devuelve el estado de conexión utilizado por la sesión. |
getServerUrl
public URI getServerUrl () |
|---|
getState
public SyncSession.State getState () |
|---|
Obtenga el estado de la sesión actual, como se define en SyncSession.State. Tenga en cuenta que el estado puede cambiar después de que este método regrese. Devuelve el estado de la sesión. |
getUser
Devuelve el usuario definido por SyncConfiguration que se utiliza para conectarse a MongoDB Realm. Devuelve Usuario utilizado para autenticar la sesión en MongoDB Realm. |
está conectado
public boolean isConnected () |
|---|
Comprueba si la sesión está conectada al servidor y puede sincronizar datos. Este método es una estimación aproximada. Para ahorrar batería, la implementación subyacente utiliza latidos para detectar si la conexión sigue disponible. Por lo tanto, si no se están sincronizando datos activamente y ha transcurrido algún tiempo desde el último latido, es posible que la conexión se haya interrumpido, pero este método devolverá Devuelve
|
eliminarConnectionChangeListener
Remueve una ConnectionListener previamente registrada. Parámetros
Lanzamientos
|
removeProgressListener
Elimina un detector de progreso. Si el detector no estaba registrado, este método no hará nada. Parámetros
|
Inicio
public synchronized void start () |
|---|
Intenta iniciar la sesión y habilitar la sincronización con el servidor de objetos Realm. Esto sucede automáticamente al abrir la instancia de Realm, por lo que hacerlo manualmente solo debería ser necesario si la sesión se detuvo usando stop(). Si la sesión ya se inició, llamar a este método no hará nada. Una sesión se considera iniciada si getState() devuelve State.ACTIVE. Si la sesión es State.DYING, se reubicará en State.ACTIVE. |
parada
public synchronized void stop () |
|---|
Detiene cualquier sincronización con el servidor de objetos Realm hasta que el Realm se vuelva a abrir después de cerrarlo por completo. La sincronización se puede volver a habilitar llamando a start() nuevamente. Si la sesión ya está detenida, llamar a este método no hará nada. |
subirTodosLosCambiosLocales
Al llamar a este método, se bloqueará hasta que se hayan cargado todos los cambios locales conocidos al servidor o se alcance el tiempo de espera especificado. Esto implica acceso a la red, por lo que solo se debe llamar desde un subproceso que no sea de interfaz de usuario. No se puede llamar a este método antes de que se abra el dominio. Devuelve
Lanzamientos
|
public void uploadAllLocalChanges () |
|---|
Llamar a este método bloqueará hasta que todos los cambios locales conocidos se hayan subido al servidor. Esto implicará acceso a la red, por lo que solo se debe llamar a este método desde un subproceso que no sea de Interfaz de Usuario. Si el dispositivo está sin conexión, este método podría no devolver nunca una respuesta. Este método no se puede llamar antes de que se haya abierto el Reino. Lanzamientos
|