Docs Menu
Docs Home
/ /
io.realm.mongodb.sync

Sesión de sincronización de clase

java.lang.Object
io.realm.mongodb.sync.SyncSession

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.

Modificador y Tipo
Clase y descripción

public static final

public static interface

public static interface

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.

Devuelve la SyncConfiguration que es responsable de controlar la sesión.

Obtenga el estado actual de la conexión utilizada por la sesión según se define en ConnectionState.

URIpública

Devuelve la URI que describe el reino remoto al que esta sesión se conecta y con el que sincroniza los cambios.

Obtenga el estado de la sesión actual, como se define en SyncSession.State.

Devuelve el usuario definido por SyncConfiguration que se utiliza para conectarse a MongoDB Realm.

booleanopúblico

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

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

long timeout,
)

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 de la clase getClasshashCodeequalsclonetoStringnotifynotifyAllwaitwaitwaitjava.lang.Object:,,,,,,,,,, finalize

public synchronized void addConnectionChangeListener (
)

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

  • listener - el oyente se registre.

Lanzamientos

Tip

public synchronized void addDownloadProgressListener (
)

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

public synchronized void 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

public boolean downloadAllServerChanges (
long timeout,
)

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

true si los datos se descargaron antes del tiempo de espera. false si la operación se agotó o falló de otro modo.

Lanzamientos

  • IllegalStateException: si se llama en el hilo principal de Android.

  • InterruptedException: si la descarga tardó más del tiempo de espera especificado o si el hilo se interrumpió durante la descarga. La descarga continuará en segundo plano incluso después de que se genere esta excepción.

  • IllegalArgumentException: si timeout es menor o igual que 0 unit o null es.

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

Devuelve la SyncConfiguration que es responsable de controlar la sesión.

Devuelve

SyncConfiguration que define y controla esta sesión.

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.

public URI getServerUrl ()

Devuelve la URI que describe el reino remoto al que esta sesión se conecta y con el que sincroniza los cambios.

Devuelve

URI que describe el reino remoto.

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.

public User 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.

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á true .

Devuelve

true si la sesión está conectada y lista para sincronizar datos, false si no lo está o si está en proceso de conexión.

public synchronized void removeConnectionChangeListener (
)

Remueve una ConnectionListener previamente registrada.

Parámetros

  • listener - oyente para eliminar

Lanzamientos

public synchronized void removeProgressListener (
)

Elimina un detector de progreso. Si el detector no estaba registrado, este método no hará nada.

Parámetros

  • listener - oyente a eliminar.

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.

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.

public boolean uploadAllLocalChanges (
long timeout,
)

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

true si los datos se cargaron antes del tiempo de espera. false si la operación se agotó o falló de otro modo.

Lanzamientos

  • IllegalStateException: si se llama en el hilo principal de Android.

  • InterruptedException: si la carga tardó más del tiempo de espera especificado o si el hilo se interrumpió durante la carga. La carga continuará en segundo plano incluso después de que se genere esta excepción.

  • IllegalArgumentException: si timeout es menor o igual que 0 unit o null es.

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

Volver

Configuración de sincronización.Suscripciones de sincronización flexibles iniciales