是否有机会使用 2.0+ java api 连接到 CouchbaseMock?

Any chance to connect to CouchbaseMock with 2.0+ java api?

前一段时间很多人都在问这个问题,我很高兴知道是否有机会支持这个问题?我真的不想为了能够在本地 运行 我的集成测试而辞去 nice rx.java api。

  1. 有人使用 java api 2.0 成功连接到 CouchbaseMock 吗?
  2. 致 Couchbase 相关人员:未来有计划支持这个吗?
  3. 是否有 Couchbase mock 的任何其他实现,可能使用不同的语言?

附上我上次尝试的日志,看起来 api 正在抛出 NPE。

> Mar 14, 2017 10:04:39 AM com.couchbase.client.core.CouchbaseCore
> <init> INFO: CouchbaseEnvironment: {sslEnabled=false,
> sslKeystoreFile='null', sslKeystorePassword=false, sslKeystore=null,
> bootstrapHttpEnabled=true, bootstrapCarrierEnabled=true,
> bootstrapHttpDirectPort=7777, bootstrapHttpSslPort=18091,
> bootstrapCarrierDirectPort=55001, bootstrapCarrierSslPort=11207,
> ioPoolSize=8, computationPoolSize=8, responseBufferSize=16384,
> requestBufferSize=16384, kvServiceEndpoints=1,
> viewServiceEndpoints=12, queryServiceEndpoints=12,
> searchServiceEndpoints=12, ioPool=NioEventLoopGroup, kvIoPool=null,
> viewIoPool=null, searchIoPool=null, queryIoPool=null,
> coreScheduler=CoreScheduler,
> memcachedHashingStrategy=DefaultMemcachedHashingStrategy,
> eventBus=DefaultEventBus,
> packageNameAndVersion=couchbase-java-client/2.4.2 (git: 2.4.2, core:
> 1.4.2), dcpEnabled=false, retryStrategy=BestEffort, maxRequestLifetime=75000, retryDelay=ExponentialDelay{growBy 1.0
> MICROSECONDS, powers of 2; lower=100, upper=100000},
> reconnectDelay=ExponentialDelay{growBy 1.0 MILLISECONDS, powers of 2;
> lower=32, upper=4096}, observeIntervalDelay=ExponentialDelay{growBy
> 1.0 MICROSECONDS, powers of 2; lower=10, upper=100000}, keepAliveInterval=30000, autoreleaseAfter=2000,
> bufferPoolingEnabled=true, tcpNodelayEnabled=true,
> mutationTokensEnabled=false, socketConnectTimeout=1000,
> dcpConnectionBufferSize=20971520, dcpConnectionBufferAckThreshold=0.2,
> dcpConnectionName=dcp/core-io, callbacksOnIoPool=false,
> disconnectTimeout=25000,
> requestBufferWaitStrategy=com.couchbase.client.core.env.DefaultCoreEnvironment@7d3a22a9,
> queryTimeout=75000, viewTimeout=75000, kvTimeout=2500,
> connectTimeout=5000, dnsSrvEnabled=false} Mar 14, 2017 10:04:40 AM
> com.couchbase.client.core.node.CouchbaseNode signalConnected INFO:
> Connected to Node 127.0.0.1 Mar 14, 2017 10:04:40 AM
> com.couchbase.client.core.endpoint.AbstractGenericHandler
> exceptionCaught WARNING: [/127.0.0.1:55001][KeyValueEndpoint]: Caught
> unknown exception: java.lang.NullPointerException
> com.couchbase.client.deps.io.netty.handler.codec.DecoderException:
> java.lang.NullPointerException    at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
>   at
> com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:643)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:566)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:480)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442)
>   at
> com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor.run(SingleThreadEventExecutor.java:131)
>   at
> com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
>   at java.lang.Thread.run(Thread.java:745) Caused by:
> java.lang.NullPointerException    at
> com.couchbase.client.core.endpoint.AbstractGenericHandler.decode(AbstractGenericHandler.java:266)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.decode(MessageToMessageCodec.java:81)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
>   ... 31 more
> 
> Mar 14, 2017 10:04:40 AM
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline
> onUnhandledInboundException WARNING: An exceptionCaught() event was
> fired, and it reached at the tail of the pipeline. It usually means
> the last handler in the pipeline did not handle the exception.
> com.couchbase.client.deps.io.netty.handler.codec.DecoderException:
> java.lang.NullPointerException    at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
>   at
> com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:643)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:566)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:480)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442)
>   at
> com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor.run(SingleThreadEventExecutor.java:131)
>   at
> com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
>   at java.lang.Thread.run(Thread.java:745) Caused by:
> java.lang.NullPointerException    at
> com.couchbase.client.core.endpoint.AbstractGenericHandler.decode(AbstractGenericHandler.java:266)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.decode(MessageToMessageCodec.java:81)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
>   ... 31 more
> 
> Mar 14, 2017 10:04:40 AM
> com.couchbase.client.core.endpoint.AbstractGenericHandler
> exceptionCaught WARNING: [/127.0.0.1:55001][KeyValueEndpoint]: Caught
> unknown exception: java.lang.NullPointerException
> com.couchbase.client.deps.io.netty.handler.codec.DecoderException:
> java.lang.NullPointerException    at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
>   at
> com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:643)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:566)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:480)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442)
>   at
> com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor.run(SingleThreadEventExecutor.java:131)
>   at
> com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
>   at java.lang.Thread.run(Thread.java:745) Caused by:
> java.lang.NullPointerException    at
> com.couchbase.client.core.endpoint.AbstractGenericHandler.decode(AbstractGenericHandler.java:266)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.decode(MessageToMessageCodec.java:81)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
>   ... 31 more
> 
> Mar 14, 2017 10:04:40 AM
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline
> onUnhandledInboundException WARNING: An exceptionCaught() event was
> fired, and it reached at the tail of the pipeline. It usually means
> the last handler in the pipeline did not handle the exception.
> com.couchbase.client.deps.io.netty.handler.codec.DecoderException:
> java.lang.NullPointerException    at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:435)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267)
>   at
> com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:250)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:336)
>   at
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:357)
>   at
> com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:343)
>   at
> com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:643)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:566)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:480)
>   at
> com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:442)
>   at
> com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor.run(SingleThreadEventExecutor.java:131)
>   at
> com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
>   at java.lang.Thread.run(Thread.java:745) Caused by:
> java.lang.NullPointerException    at
> com.couchbase.client.core.endpoint.AbstractGenericHandler.decode(AbstractGenericHandler.java:266)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.decode(MessageToMessageCodec.java:81)
>   at
> com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
>   ... 31 more
> 
> Exception in thread "main" java.lang.RuntimeException:
> java.util.concurrent.TimeoutException     at
> com.couchbase.client.core.utils.Blocking.blockForSingle(Blocking.java:74)
>   at
> com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:310)
>   at
> com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:288)
>   at
> com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:278)
>   at
> com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:262)
>   at com.mycompany.ohsm.io.Test.main(Test.java:27) Caused by:
> java.util.concurrent.TimeoutException     ... 6 more

模拟服务器 (1.4.4):

final CouchbaseMock couchbaseMock =
                new CouchbaseMock("localhost", 7777, 1, 0, 1024, "couchbase::memcache", 0);
        couchbaseMock.start();
        couchbaseMock.waitForStartup();

客户端 (2.4.2):

final DefaultCouchbaseEnvironment env = DefaultCouchbaseEnvironment.builder().
                bootstrapCarrierEnabled(true).
                bootstrapHttpEnabled(true).
                bootstrapHttpDirectPort(7777).
                sslEnabled(false).
                bootstrapCarrierDirectPort(55001).
                build();

        CouchbaseCluster couchbaseCluster = CouchbaseCluster.create(env, "127.0.0.1");


        final Bucket couchbase = couchbaseCluster.openBucket("couchbase");
        final JsonDocument doc = couchbase.get("key");
  1. 我不知道有什么原因这不起作用,但我会请一些同事参与进来。
  2. 目前,CouchbaseMock 是一个维护项目,对很多此类情况都很有用,但我们不打算在短期内将其变成一个完整的模拟。相反,我们想消除使用一个集群或类似集群的障碍。
  3. 没有什么是完整的。

我看到您的 java 客户端 CouchbaseEnvironment 的 memcached 端口为 55001,不确定您是如何在 mock 上设置它的。我刚刚尝试使用 2.x java 客户端和 mock 进行基本操作,它们运行良好。