동기화 게이트웨이 channels
을 통해 데이터를 가져 오는 데 문제가 있습니다.Couchbase Lite가 동기화 게이트웨이를 통해 채널을 가져 오지 않습니다.
내가 이해하는 방식으로 channels
은 기본적으로 문서를 특별한 방법으로 표시 할 수있는 태그 형식입니다.
내가
을하려고 내가 응용 프로그램을 종료 할 때, 로컬 DB를 삭제 한 다음, 내가로 설정 한 channels
에있는 모든 문서를 기대하고 응용 프로그램을 다시하고 잡아 당기지 만 그 대신에 아무것도 끌어 당기지 않습니다.
설정하는 것은
것은 내가 카우치베이스 주식회사 라이트 1.4.0 최신 Sync_Gateway을 사용하고 있습니다.
동기화 게이트웨이 설정 파일, 나는 기본 동기화 기능을 사용하고 있습니다 :
{
"databases": {
"db": {
"server": "http://127.0.0.1:8091",
"username": "db",
"password": "pass",
"users":{
"user1":{
"password":"pass"
}
}
}
}
}
내가 지금처럼 카우치베이스 주식회사 라이트에 동기화 게이트웨이에 접근하고있다 : 나는 문서를 만들 때마다
private String[] docChannels = new String[]{
"channel1",
"channel2",
};
private String[] configChannels = new String[]{
"config1",
"config2",
};
URL url = null;
try {
url = new URL("http://127.0.0.1:4984/db");
} catch (MalformedURLException e) {
e.printStackTrace();
}
Replication push = d.createPushReplication(url);
Replication pull = d.createPullReplication(url);
Replication pullConfig = d.createPullReplication(url);
pull.setChannels(Arrays.asList(docChannels));
pullConfig.setChannels(Arrays.asList(configChannels));
pullConfig.setContinuous(false);
pull.setContinuous(true);
push.setContinuous(true);
Authenticator auth = AuthenticatorFactory.createBasicAuthenticator("user1", "pass");
push.setAuthenticator(auth);
pull.setAuthenticator(auth);
pullConfig.setAuthenticator(auth);
push.start();
pullConfig.start();
pull.start();
, 내가 추가를 값이 ["config1"]
인 channels
키 내가 잘못 여기서 뭐하는 거지 확실하지 않다
"_sync": {
"rev": "1-87cdc8c1fd5e0e4ce1a0897cbd47aca1",
"sequence": 4,
"recent_sequences": [
4
],
"history": {
"revs": [
"1-87cdc8c1fd5e0e4ce1a0897cbd47aca1"
],
"parents": [
-1
],
"channels": [
[
"config1"
]
]
},
"channels": {
"config1": null
},
"time_saved": "2017-09-22T13:20:43.6061974-05:00"
}
: 같은
내 문서의 동기화 정보를 원하시면 지금 보인다. Couchbase 서버로 밀어 넣는 것은 잘 작동하지만, 당기는 것은 아닙니다.
감사합니다.
을 보일 것이다 이것은 당신이 제안한 것입니다. –
나는 그 사실을 몰랐다. 또한 사용자에게 동기화해야하는 채널을 추가해야합니다. 예 : "admin_channels": user1의 [ "config1"] – combinatorial
글쎄, 그게 효과가있어. 중요한 측면을 오해하고있는 것처럼 보입니다. 깊이있는 내용을 더 자세히 읽어야합니다. 답변을 수정하면 받아 들일 것입니다 –