我目前正在使用CouchbaseLite和Android应用程序,我刚开始使用复制功能同步到couchdb数据库(我是新手)。
这是我遵循的所有步骤here
的问题我的复制对象向我发送空闲状态。但我没有在我指出的特定couchdb数据库中的数据。可能有什么我想念的吗?
URL url = new URL("http://192.168.1.100:5984/data/");
push = database.createPushReplication(url);
pull = database.createPullReplication(url);
pull.setContinuous(true);
push.setContinuous(true);
BasicAuthenticator authenticator = new BasicAuthenticator("olabode", "couch");
pull.setAuthenticator(authenticator);
push.setAuthenticator(authenticator);
pull.addChangeListener(this);
push.addChangeListener(this);
push.setFilter("addStoreNameFilter");
pull.setFilter("pullCurrentStoreFilter");
// Start
push.start();
pull.start();
database.setFilter("addStoreNameFilter", new ReplicationFilter() {
@Override
public boolean filter(SavedRevision savedRevision, Map<String, Object> map) {
map.put(Dao.STORE_ID, storeId);
return true;
}
});
database.setFilter("pullCurrentStoreFilter", new ReplicationFilter() {
@Override
public boolean filter(SavedRevision savedRevision, Map<String, Object> map) {
String currentStoreId = (String) map.get(Dao.STORE_ID);
if (currentStoreId == storeId)
return true;
return false;
}
});
请帮忙!
答案 0 :(得分:1)
您使用连续复制。
pull.setContinuous(true);
push.setContinuous(true);
在这种情况下,Idle
状态正常。
空闲:表示连续复制已“捕获”并传输了所有文档,但正在监视源数据库以供将来更改。