亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何為同步網關創建多個復制器?

如何為同步網關創建多個復制器?

慕后森 2023-05-24 15:31:33
我已經創建了一個帶有拉取和推送選項的復制器,但問題是我需要從 Couchbase 服務器獲取一些文檔而無法推送。誰能幫我解決這個問題?注意:我使用的是 couchbase lite 2.5、couchbase server 6.0 和 sync gateway 2.5我當前的推拉復制器public static void startPushAndPullReplicationForCurrentUser(String username, String password) {    Log.e("Replication", "startPushAndPullReplicationForCurrentUser");    URI url = null;    try {        url = new URI(mSyncGatewayEndpoint);    } catch (URISyntaxException e) {        e.printStackTrace();    }    ReplicatorConfiguration config = new ReplicatorConfiguration(database, new URLEndpoint(url));    config.setReplicatorType(ReplicatorConfiguration.ReplicatorType.PUSH_AND_PULL);    config.setContinuous(true);    config.setAuthenticator(new BasicAuthenticator(username, password));    Replicator replicator = new Replicator(config);    replicator.addChangeListener(new ReplicatorChangeListener() {        @Override        public void changed(ReplicatorChange change) {            if (change.getReplicator().getStatus().getActivityLevel().equals(Replicator.ActivityLevel.IDLE)) {                Log.e("Replication Comp Log", "Schedular Completed");            }            if (change.getReplicator().getStatus().getActivityLevel().equals(Replicator.ActivityLevel.STOPPED)                    || change.getReplicator().getStatus().getActivityLevel().equals(Replicator.ActivityLevel.OFFLINE)) {                // stopReplication();                Log.e("Rep schedular  Log", "ReplicationTag Stopped");            }        }    });    replicator.start();}所有數據庫都附加到推拉復制器,但這是錯誤的。
查看完整描述

2 回答

?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

如果您希望復制器不推送,請使用 config.setReplicatorType(ReplicatorConfiguration.ReplicatorType.PULL);PUSH_AND_PULL 代替。我們在我的項目中使用它,我們希望服務器在推送到數據庫之前驗證記錄(驗證對于他們簡單的驗證機制來說太復雜了——它需要我們獲取其他記錄,而該機制不允許)。

無法對某些文檔進行雙向同步,但對其他文檔進行單向同步。這是一個全有或全無的設置。如果您需要,您可以做的是將所有內容都放在 PULL 中,并且當您更改要推送的文檔時,通過您自己的端點或直接同步網關 API 調用手動將其推送到服務器。但是,這確實存在使數據庫不同步的風險,尤其是在離線文檔經常更改的情況下。


查看完整回答
反對 回復 2023-05-24
?
阿波羅的戰車

TA貢獻1862條經驗 獲得超6個贊

在 2.5 中,您可以使用復制過濾器來做到這一點。在您的情況下,設置一個推拉復制器并定義一個推送復制過濾器以過濾掉您不想推送的文檔(僅限本地)。


查看完整回答
反對 回復 2023-05-24
  • 2 回答
  • 0 關注
  • 191 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號