获取ConnectException的Couchbase Java API

时间:2016-04-13 16:38:49

标签: java json couchbase n1ql couchbase-java-api

我正在创建一个虚拟JSON并尝试查询它。我是用JAVA做的。代码如下: -

private Molecules mol;

执行上面的代码时,我收到以下错误: -

import static com.couchbase.client.java.query.Select.select;
import static com.couchbase.client.java.query.dsl.Expression.s;
import static com.couchbase.client.java.query.dsl.Expression.x;

import com.couchbase.client.java.Bucket;
import com.couchbase.client.java.Cluster;
import com.couchbase.client.java.CouchbaseCluster;
import com.couchbase.client.java.document.JsonDocument;
import com.couchbase.client.java.document.json.JsonObject;
import com.couchbase.client.java.env.CouchbaseEnvironment;
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
import com.couchbase.client.java.query.Query;
import com.couchbase.client.java.query.Statement;

public class AccessData {
    public static void main(String[] args) {
        CouchbaseEnvironment env = DefaultCouchbaseEnvironment.builder()
                .queryEnabled(true)
                .build();
        Cluster cluster = CouchbaseCluster.create(env, "127.0.0.1");
        Bucket bucket = cluster.openBucket("default", "");
        JsonObject testDataBlog = JsonObject.create().put("type", "blog").put("data", "blablabla");
        JsonObject testDataComment = JsonObject.create().put("type", "comment").put("data", "ho hey");
        bucket.upsert(JsonDocument.create("testDp4Blog", testDataBlog));
        bucket.upsert(JsonDocument.create("testDp4Comment", testDataComment));
        Statement statement = select("*").from("default").where(x("type").eq(s("blog")));
        Query createIndex = Query.simple("CREATE PRIMARY INDEX ON default");
        bucket.query(createIndex);
        Statement withPlaceholders = select("*").from("default").where(x("type").eq(x("$1")));
}
}

任何解决问题的线索?

1 个答案:

答案 0 :(得分:0)

看起来你正在使用相当过时的服务器版本和SDK以及开发人员预览版本!

我强烈建议您重新安装Couchbase Server 4.1.0,并在其最新版本2.2.7中使用Java SDK。一些事情会发生变化:

  • 配置环境时不需要queryEnabled(true)
  • Query已重命名为N1qlQuery

您收到的错误表明当客户端尝试在localhost上连接时,没有任何答案(至少在端口11210上)。您能否在web console

中检查节点是否正确

再一次,更喜欢使用4.1.0安装Couchbase。如果您没有任何特定数据要保留在当前实例中,请执行完全重新安装(首先删除当前安装。请参阅here)。