我目前在Android应用程序上使用CouchbaseLite,并且刚开始使用复制功能同步到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;
}
});
请帮忙!
最佳答案
您使用连续复制。
pull.setContinuous(true);
push.setContinuous(true);
在这种情况下,具有
Idle
状态是可以的。空闲:表示连续复制已“捕获”并传输了所有文档,但是正在监视源数据库以备将来更改。
Observing and monitoring replications