Couchbase Lite到CouchDB复制 - 无数据

时间:2015-04-19 14:59:28

标签: android couchdb replication couchbase-lite

我目前正在使用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;
        }
    });

请帮忙!

1 个答案:

答案 0 :(得分:1)

您使用连续复制。

pull.setContinuous(true);
push.setContinuous(true);

在这种情况下,Idle状态正常。

  

空闲:表示连续复制已“捕获”并传输了所有文档,但正在监视源数据库以供将来更改。

Observing and monitoring replications