Невозможно удалить документы в локальной базе данных CouchBase lite - PullRequest
0 голосов
/ 14 мая 2018

Я использую CouchBase Lite 1.3 с Android более CouchDB 1.6.

Если я удаляю документ на CouchDB, документ не удаляется в моей локальной базе данных устройства репликации.

Это мой код:

  private Database master;
    private Manager manager;
    public Replication pullmaster;

    manager = new Manager(new AndroidContext(c), Manager.DEFAULT_OPTIONS);
    master = manager.getDatabase("master");
    pullmaster = master.createPullReplication(url);

     master.addChangeListener(new Database.ChangeListener() {
                    @Override
                    public void changed(Database.ChangeEvent event) {
                        if (event.isExternal()) {
                            for (DocumentChange dc : event.getChanges()) {

                                if (dc.isDeletion()) {
                                    Document doc = event.getSource().getDocument(dc.getDocumentId());
                                    try {
                                        doc.purge();
                                    } catch (CouchbaseLiteException e) {
                                        e.printStackTrace();
                                    }
                                }
                            }
                        }
                    }
                });

  startReplicators();

И вот я начинаю репликацию

public void startReplicators() {
        if (pullmaster != null) {
            pullmaster.start();
        }
        if (pullwork != null) {
            pullwork.start();
        }
        if (pushwork != null) {
            pushwork.start();
        }
    }

Он не работает, я имею в виду, он не удаляет документ, который я удаляю в CouchDb, ошибок нет.

Я поставил точку останова на этой строке

master.addChangeListener (новый Database.ChangeListener () {....}

Если я создаю документ в CouchDB, вызывается addChangeListener(), но если я удаляю документ, метод не вызывается.

Любая подсказка о том, что я делаю неправильно?

...