0

使用纯 java 和 couchbase-lite。运行以下代码:

Manager manager = new Manager(new JavaContext("data"), Manager.DEFAULT_OPTIONS); Manager.enableLogging("同步", Log.VERBOSE);

    final Database db = manager.getDatabase("sync_gateway");
    URL url = new URL("http://localhost:4984/sync_gateway/");
    Replication push = db.createPushReplication(url);
    Replication pull = db.createPullReplication(url);
    pull.setContinuous(true);
    push.setContinuous(true);
    com.couchbase.lite.auth.Authenticator auth = AuthenticatorFactory.createBasicAuthenticator("GUEST", "");
    push.setAuthenticator(auth);
    push.setAuthenticator(auth);
    pull.setAuthenticator(auth);
    push.start();
    pull.start();

    on line push.start()
    it through exception:
    Jun 11, 2015 8:46:23 PM com.couchbase.lite.util.SystemLogger e
    SEVERE: Sync: RemoteRequest.run() exception: %s
    java.lang.ArrayIndexOutOfBoundsException: 1
        at com.couchbase.lite.support.RemoteRequest.preemptivelySetAuthCredentials(RemoteRequest.java:281)
        at com.couchbase.lite.support.RemoteRequest.run(RemoteRequest.java:96)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

    Jun 11, 2015 8:48:02 PM com.couchbase.lite.util.SystemLogger e
    SEVERE: Sync: RemoteRequest.run() exception: %s
    java.lang.ArrayIndexOutOfBoundsException: 1
        at com.couchbase.lite.support.RemoteRequest.preemptivelySetAuthCredentials(RemoteRequest.java:281)
        at com.couchbase.lite.support.RemoteRequest.run(RemoteRequest.java:96)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)

    Jun 11, 2015 8:48:11 PM com.couchbase.lite.util.SystemLogger e
    SEVERE: Sync: RemoteRequest.run() exception: %s
    java.lang.ArrayIndexOutOfBoundsException: 1
    at com.couchbase.lite.support.RemoteRequest.preemptivelySetAuthCredentials(RemoteRequest.java:281)
        at com.couchbase.lite.support.RemoteRequest.run(RemoteRequest.java:96)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at java.util.concurrent.FutureTask.run(FutureTask.java:262)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang

.Thread.run(Thread.java:745)

我启动了我的sync_gateway,我想将我的couchbase lite 同步到couchbase 完整节点。我用 couchbase 全节点的 ip 启动了 sync_gateway。现在据我所知,我只需要运行这个 couchbase lite 复制代码,我的 couchbase lite 数据将被复制到 couchbase 全节点。请帮助。

4

1 回答 1

0

参考Couchbase 论坛上的讨论来解决这个问题。

于 2015-06-18T13:40:22.390 回答