클래스 SyncSession
이 페이지의 내용
- io.realm.mongodb.sync
- 중첩된 클래스 요약
- 메서드 요약
- 상속된 메서드
- 메서드 세부 정보
- addConnectionChangeListener
- addDownloadProgressListener
- addUploadProgressListener
- downloadAllServerChanges
- getConfiguration
- getConnectionState
- getServerUrl
- getState
- getUser
- isConnected
- removeConnectionChangeListener
- removeProgressListener
- 시작하기
- 중지
- UploadAllLocalChanges
io.realm.mongodb.sync
세션은 장치의 단일 Realm과 Realm 객체 서버의 서버 Realm 간에 데이터를 동기화하는 방법을 제어합니다. 세션은 SyncConfiguration 을 사용하여 Realm 인스턴스를 열어 생성됩니다. 세션이 생성되면 앱이 닫히거나 이 SyncConfiguration 을 사용하는 모든 스레드가 해당 Realm 을 닫을 때까지 세션이 계속 존재합니다.
세션은 Realm에서 제어하지만 오류 발생 시 추가 정보를 제공할 수 있습니다. 이러한 오류는 SyncSession.ErrorHandler 를 통해 전달됩니다.
세션을 생성할 때 Realm 은 서버 에 대한 연결을 설정합니다. 이 연결은 Realm 에서 제어하며 여러 세션 간에 공유될 수 있습니다. addConnectionChangeListener(ConnectionListener) 및 isConnected() 를 사용하여 연결에 인사이트 를 얻을 수 있습니다.
세션 자체의 수명 주기는 기본 연결과 다릅니다. 세션의 상태는 getState() 를 사용하여 찾을 수 있습니다.
SyncSession 객체는 스레드로부터 안전합니다.
중첩된 클래스 요약
수정자 및 유형 | 클래스 및 설명 |
---|---|
public static final | |
public static interface | |
public static interface |
메서드 요약
수정자 및 유형 | 메서드 및 설명 |
---|---|
public synchronized void | 이 세션을 지원하는 연결에 변경 사항을 추적하는 수신기를 추가합니다. |
public synchronized void | Realm 객체 서버에서 다운로드해야 하는 변경 사항을 추적하는 진행 리스너를 추가합니다. |
public synchronized void | 장치에서 Realm 객체 서버로 업로드해야 하는 변경 사항을 추적하는 진행 리스너를 추가합니다. |
공개 부울 | 이 메서드를 호출하면 알려진 모든 원격 변경 사항이 Realm에 다운로드되어 적용되거나 지정된 시간 제한에 도달할 때까지 차단됩니다. |
public void | 이 메서드를 호출하면 알려진 모든 원격 변경 사항이 다운로드되어 Realm에 적용될 때까지 차단됩니다. |
세션 제어를 담당하는 SyncConfiguration 을 반환합니다. | |
ConnectionState 에 정의된 대로 세션에서 사용하는 연결의 현재 상태를 가져옵니다. | |
공개 URI | getServerUrl () URI 를 반환합니다. 이 세션이 연결되고 변경 사항을 동기화하는 원격 Realm을 설명합니다. |
getState () SyncSession.State 에 정의된 대로 현재 세션의 상태를 가져옵니다. | |
공개 사용자 | getUser () MongoDB Realm에 연결하는 데 사용되는 SyncConfiguration 으로 정의된 사용자 를 반환합니다. |
공개 부울 | isConnected () 세션이 서버에 연결되어 있고 데이터를 동기화할 수 있는지 확인합니다. |
public synchronized void | 이전에 등록된 ConnectionListener 를 제거합니다. |
public synchronized void | 진행률 리스너를 제거합니다. |
public synchronized void | start () 세션을 시작하고 Realm 객체 서버와의 동기화를 활성화하려고 시도합니다. |
public synchronized void | stop () Realm을 완전히 닫았다가 다시 열 때까지 Realm 객체 서버와의 동기화를 중지합니다. |
공개 부울 | 이 메서드를 호출하면 알려진 모든 로컬 변경 사항이 서버에 업로드되거나 지정된 시간 제한에 도달할 때까지 차단됩니다. |
public void | 이 메서드를 호출하면 알려진 모든 로컬 변경 사항이 서버에 업로드될 때까지 차단됩니다. |
상속된 메서드
클래스 java.lang.Object 에서 상속된 메서드 :
getClass
,hashCode
,equals
,clone
,toString
,notify
,notifyAll
,wait
,wait
,wait
,finalize
메서드 세부 정보
addConnectionChangeListener
이 세션을 지원하는 연결에 변경 사항을 추적하는 수신기를 추가합니다. 자세한 내용은 ConnectionState 를 참조하세요. 매개변수
스로우
|
addDownloadProgressListener
Realm 객체 서버에서 다운로드해야 하는 변경 사항을 추적하는 진행 리스너를 추가합니다. ProgressListener 는 등록 시 즉시 트리거되고, 그 후에는 주기적으로 트리거됩니다. 매개변수
|
addUploadProgressListener
장치에서 Realm 객체 서버로 업로드해야 하는 변경 사항을 추적하는 진행률 리스너를 추가합니다. ProgressListener 는 등록 시 즉시 트리거되고, 그 후에는 주기적으로 트리거됩니다. 매개변수
|
downloadAllServerChanges
이 메서드를 호출하면 알려진 모든 원격 변경 사항이 Realm에 다운로드되어 적용되거나 지정된 시간 제한에 도달할 때까지 차단됩니다. 여기에는 네트워크 액세스가 포함되므로 이 메서드 호출은 UI가 아닌 스레드에서만 수행해야 합니다. 이 메서드는 Realm이 열기 전에는 호출할 수 없습니다. 반환
스로우
|
public void downloadAllServerChanges () |
---|
이 메서드를 호출하면 알려진 모든 원격 변경 사항이 다운로드되어 Realm에 적용될 때까지 차단됩니다. 여기에는 네트워크 액세스가 포함되므로 이 메서드 호출은 UI가 아닌 스레드에서만 수행해야 합니다. 기기가 오프라인 상태인 경우 이 메서드가 반환되지 않을 수 있습니다. 이 메서드는 세션이 시작되기 전에는 호출할 수 없습니다. 스로우
|
getConfiguration
public SyncConfiguration getConfiguration () |
---|
getConnectionState
public ConnectionState getConnectionState () |
---|
getServerUrl
public URI getServerUrl () |
---|
getState
public SyncSession.State getState () |
---|
getUser
MongoDB Realm에 연결하는 데 사용되는 SyncConfiguration 으로 정의된 사용자 를 반환합니다. 반환 MongoDB Realm에서 세션을 인증하는 데 사용되는 사용자 입니다. |
isConnected
public boolean isConnected () |
---|
세션이 서버에 연결되어 있고 데이터를 동기화할 수 있는지 확인합니다. 이것은 가장 좋은 추측입니다. 배터리를 절약하기 위해 기본 구현은 하트비트를 사용하여 연결이 여전히 사용 가능한지 감지합니다. 따라서 활발하게 동기화되는 데이터가 없고 마지막 하트비트 이후 시간이 경과한 경우 연결이 끊어질 수 있었지만 이 메서드는 여전히 반환
|
removeConnectionChangeListener
removeProgressListener
진행률 리스너를 제거합니다. 리스너가 등록되지 않은 경우 이 메서드는 아무 작업도 수행하지 않습니다. 매개변수
|
시작하기
public synchronized void start () |
---|
세션을 시작하고 Realm 객체 서버와의 동기화를 활성화 하려고 시도합니다. 이 작업은 Realm 인스턴스 를 열 때 자동으로 수행되므로 stop() 을 사용하여 세션을 중지한 경우에만 수동으로 수행해야 합니다. 세션이 이미 시작된 경우 이 메서드를 호출해도 아무 소용이 없습니다. getState() 가 State.ACTIVE 를 반환하면 세션이 시작된 것으로 간주됩니다. 세션이 State.DYING 인 경우 세션은 State.ACTIVE 로 다시 이동됩니다. |
중지
UploadAllLocalChanges
이 메서드를 호출하면 알려진 모든 로컬 변경 사항이 서버에 업로드되거나 지정된 시간 제한에 도달할 때까지 차단됩니다. 여기에는 네트워크 액세스가 포함되므로 이 메서드 호출은 UI가 아닌 스레드에서만 수행해야 합니다. 이 메서드는 Realm이 열기 전에는 호출할 수 없습니다. 반환
스로우
|
public void uploadAllLocalChanges () |
---|
이 메서드를 호출하면 알려진 모든 로컬 변경 사항이 서버에 업로드될 때까지 차단됩니다. 여기에는 네트워크 액세스가 포함되므로 이 메서드 호출은 UI가 아닌 스레드에서만 수행해야 합니다. 기기가 오프라인 상태인 경우 이 메서드가 반환되지 않을 수 있습니다. 이 메서드는 Realm이 열기 전에는 호출할 수 없습니다. 스로우
|