我确实从本地 couchbase 服务器同步到我的 android 和 IOS 应用程序,它适用于移动设备到服务器和服务器到移动设备。然后我尝试将文档从 JAVA Web 应用程序插入到本地服务器,我成功地做到了。但问题是 java web 应用程序插入的文档没有与 ios/android 移动应用程序同步。我将文档插入本地服务器的 java 代码如下:
public class CouchBase {
public static void main(String args[]) {
Cluster cluster = CouchbaseCluster.create("127.0.0.1");
Bucket bucket = cluster.openBucket("test");
JsonObject user = JsonObject.empty()
.put("name", "amol")
.put("city", "mumbai");
JsonDocument doc = JsonDocument.create("102", user);
bucket.insert(doc);
System.out.println(doc.content().getString("name"));
}
}
在这段代码中,我创建了一个存储桶,然后创建了一个包含所需值的 json 对象,并将该对象传递给 json 文档,最后将该文档插入到存储桶中。
现在我的移动端代码来创建文档:
Document document = database.getDocument(etId.getText().toString());
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", etName.getText().toString());
map.put("city", etCity.getText().toString());
try {
document.putProperties(map);
} catch (CouchbaseLiteException e) {
Log.e(TAG, "Error putting", e);
}
在这段代码中,我只是创建一个文档并将值放入其中。
我的同步代码如下:
Replication pullReplication = database.createPullReplication(syncUrl);
Replication pushReplication = database.createPushReplication(syncUrl);
pullReplication.setContinuous(true);
pushReplication.setContinuous(true);
pullReplication.start();
pushReplication.start();
我在哪里进行双向同步。我没有发现我的 java 代码有什么问题。请帮我解决这个问题