2016-04-13 2 views
2

Я создаю манекен JSON и пытаюсь его запросить. Я делаю это с помощью JAVA. Код выглядит следующим образом: -Couchbase Java API получение ConnectException

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"))); 
} 
} 

Исполняя код выше, я получаю следующее сообщение об ошибке: -

Apr 13, 2016 10:02:33 PM com.couchbase.client.core.CouchbaseCore <init> 
INFO: CoreEnvironment: {sslEnabled=false, sslKeystoreFile='null', sslKeystorePassword='null', queryEnabled=true, queryPort=8093, bootstrapHttpEnabled=true, bootstrapCarrierEnabled=true, bootstrapHttpDirectPort=8091, bootstrapHttpSslPort=18091, bootstrapCarrierDirectPort=11210, bootstrapCarrierSslPort=11207, ioPoolSize=4, computationPoolSize=4, responseBufferSize=16384, requestBufferSize=16384, kvServiceEndpoints=1, viewServiceEndpoints=1, queryServiceEndpoints=1, ioPool=NioEventLoopGroup, coreScheduler=CoreScheduler, packageNameAndVersion=couchbase-java-client/2.1.0-dp2 (git: 2.1.0-dp2), dcpEnabled=false, retryStrategy=BestEffort, maxRequestLifetime=75000, [email protected]50b, [email protected]d6f64b1, obser[email protected]32a1bec0} 
Apr 13, 2016 10:02:36 PM com.couchbase.client.core.endpoint.AbstractEndpoint$2 operationComplete 
WARNING: [null][KeyValueEndpoint]: Could not connect to endpoint, retrying with delay 32 MILLISECONDS: 
java.net.ConnectException: Connection refused: no further information: /127.0.0.1:11210 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:712) 
    at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) 
    at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:281) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 
    at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) 
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) 
    at java.lang.Thread.run(Thread.java:745) 

Apr 13, 2016 10:02:37 PM com.couchbase.client.core.endpoint.AbstractEndpoint$2 operationComplete 
WARNING: [null][KeyValueEndpoint]: Could not connect to endpoint, retrying with delay 32 MILLISECONDS: 
java.net.ConnectException: Connection refused: no further information: /127.0.0.1:11210 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:712) 
    at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) 
    at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:281) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 
    at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) 
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) 
    at java.lang.Thread.run(Thread.java:745) 

Apr 13, 2016 10:02:38 PM com.couchbase.client.core.endpoint.AbstractEndpoint$2 operationComplete 
WARNING: [null][KeyValueEndpoint]: Could not connect to endpoint, retrying with delay 32 MILLISECONDS: 
java.net.ConnectException: Connection refused: no further information: /127.0.0.1:11210 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:712) 
    at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) 
    at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:281) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 
    at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) 
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) 
    at java.lang.Thread.run(Thread.java:745) 

Apr 13, 2016 10:02:39 PM com.couchbase.client.core.endpoint.AbstractEndpoint$2 operationComplete 
WARNING: [null][KeyValueEndpoint]: Could not connect to endpoint, retrying with delay 32 MILLISECONDS: 
java.net.ConnectException: Connection refused: no further information: /127.0.0.1:11210 
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) 
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:712) 
    at com.couchbase.client.deps.io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:208) 
    at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:281) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:528) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 
    at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 
    at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116) 
    at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) 
    at java.lang.Thread.run(Thread.java:745) 

Exception in thread "main" java.lang.RuntimeException: java.util.concurrent.TimeoutException 
    at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:93) 
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:108) 
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:99) 
    at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:89) 
    at AccessData.main(AccessData.java:21) 
Caused by: java.util.concurrent.TimeoutException 
    ... 5 more 

Любые подсказки, чтобы исправить это?

ответ

0

Похоже, вы используете довольно устаревшие версии сервера и SDK, а также версии предварительного просмотра разработчиков!

Я настоятельно рекомендую вам сделать чистую установку Couchbase Server 4.1.0 и использовать Java SDK в последней версии, 2.2.7. Несколько вещей, которые будут изменены:

  • вы не будете нуждаться в queryEnabled(true) при настройке среды
  • Query был переименован N1qlQuery

Ошибка вы получаете указывает, что, когда клиент пытается подключиться на localhost ничего не отвечает (по крайней мере, на порту 11210). Можете ли вы проверить, правильно ли узел правильно установлен в web console?

Опять же, рекомендуется установить Couchbase с 4.1.0. Если у вас нет данных, которые нужно сохранить в текущем экземпляре, выполните полную переустановку (сначала удалив текущую установку. См. here).

Смежные вопросы