Couchbase DCP 客户端 0.10.0 失败 java.lang.NoSuchMethodError
Couchbase DCP Client 0.10.0 fails with java.lang.NoSuchMethodError
我正在开发具有以下版本的 DCP 客户端连接器。
- DCP 客户端版本
0.10.0
- Java客户端版本
2.4.6
- 核心IO版本
1.4.6
- Rx Java 版本
1.2.7
(这是自动的
拉)
每当我 运行 我的应用程序时,我都会遇到以下异常。我尝试更改这些库的版本,但还没有成功。如果有人能提供帮助,我们将不胜感激。
java.lang.NoSuchMethodError: com.couchbase.client.core.config.NodeInfo.hostname()Ljava/net/InetAddress;
at com.couchbase.client.dcp.conductor.HttpStreamingConfigProvider.onNext(HttpStreamingConfigProvider.java:90) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.dcp.conductor.HttpStreamingConfigProvider.onNext(HttpStreamingConfigProvider.java:74) ~[dcp-client-0.10.0.jar:?]
at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:134) ~[rxjava-1.2.7.jar:1.2.7]
at rx.internal.operators.NotificationLite.accept(NotificationLite.java:135) ~[rxjava-1.2.7.jar:1.2.7]
at rx.subjects.SubjectSubscriptionManager$SubjectObserver.emitNext(SubjectSubscriptionManager.java:253) ~[rxjava-1.2.7.jar:1.2.7]
at rx.subjects.BehaviorSubject.onNext(BehaviorSubject.java:160) ~[rxjava-1.2.7.jar:1.2.7]
at rx.observers.SerializedObserver.onNext(SerializedObserver.java:91) ~[rxjava-1.2.7.jar:1.2.7]
at rx.subjects.SerializedSubject.onNext(SerializedSubject.java:67) ~[rxjava-1.2.7.jar:1.2.7]
at com.couchbase.client.dcp.transport.netty.ConfigHandler.decodeChunk(ConfigHandler.java:96) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.dcp.transport.netty.ConfigHandler.channelRead0(ConfigHandler.java:76) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.dcp.transport.netty.ConfigHandler.channelRead0(ConfigHandler.java:38) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.deps.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:625) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:560) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:477) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:439) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor.run(SingleThreadEventExecutor.java:131) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) ~[core-io-1.4.6.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
一行解决:使用dcp-client
版本0.10.0
和core-io
版本1.4.4
,这个问题就会消失。
我从 Couchbase 的朋友那里得到了答案;整个讨论都在这里 https://forums.couchbase.com/t/couchbase-dcp-client-0-10-0-fails-with-java-lang-nosuchmethoderror/13227。
class NodeInfo
已在最新版本 core-io
(v1.4.6
) 中更改;方法 NodeInfo.hostName()
returns 一个新的 class 称为 NetworkAddress
。在以前的版本中,它返回 InetAddress
。出于某种原因,Couchbase 人员没有更新 dcp-client
版本 0.10.0
以使用较新的 API。根据上面 link 中的讨论,他们将很快发布。
我正在开发具有以下版本的 DCP 客户端连接器。
- DCP 客户端版本
0.10.0
- Java客户端版本
2.4.6
- 核心IO版本
1.4.6
- Rx Java 版本
1.2.7
(这是自动的 拉)
每当我 运行 我的应用程序时,我都会遇到以下异常。我尝试更改这些库的版本,但还没有成功。如果有人能提供帮助,我们将不胜感激。
java.lang.NoSuchMethodError: com.couchbase.client.core.config.NodeInfo.hostname()Ljava/net/InetAddress;
at com.couchbase.client.dcp.conductor.HttpStreamingConfigProvider.onNext(HttpStreamingConfigProvider.java:90) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.dcp.conductor.HttpStreamingConfigProvider.onNext(HttpStreamingConfigProvider.java:74) ~[dcp-client-0.10.0.jar:?]
at rx.observers.SafeSubscriber.onNext(SafeSubscriber.java:134) ~[rxjava-1.2.7.jar:1.2.7]
at rx.internal.operators.NotificationLite.accept(NotificationLite.java:135) ~[rxjava-1.2.7.jar:1.2.7]
at rx.subjects.SubjectSubscriptionManager$SubjectObserver.emitNext(SubjectSubscriptionManager.java:253) ~[rxjava-1.2.7.jar:1.2.7]
at rx.subjects.BehaviorSubject.onNext(BehaviorSubject.java:160) ~[rxjava-1.2.7.jar:1.2.7]
at rx.observers.SerializedObserver.onNext(SerializedObserver.java:91) ~[rxjava-1.2.7.jar:1.2.7]
at rx.subjects.SerializedSubject.onNext(SerializedSubject.java:67) ~[rxjava-1.2.7.jar:1.2.7]
at com.couchbase.client.dcp.transport.netty.ConfigHandler.decodeChunk(ConfigHandler.java:96) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.dcp.transport.netty.ConfigHandler.channelRead0(ConfigHandler.java:76) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.dcp.transport.netty.ConfigHandler.channelRead0(ConfigHandler.java:38) ~[dcp-client-0.10.0.jar:?]
at com.couchbase.client.deps.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:293) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:267) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1294) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:911) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:625) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:560) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:477) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:439) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor.run(SingleThreadEventExecutor.java:131) ~[core-io-1.4.6.jar:?]
at com.couchbase.client.deps.io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) ~[core-io-1.4.6.jar:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
一行解决:使用dcp-client
版本0.10.0
和core-io
版本1.4.4
,这个问题就会消失。
我从 Couchbase 的朋友那里得到了答案;整个讨论都在这里 https://forums.couchbase.com/t/couchbase-dcp-client-0-10-0-fails-with-java-lang-nosuchmethoderror/13227。
class NodeInfo
已在最新版本 core-io
(v1.4.6
) 中更改;方法 NodeInfo.hostName()
returns 一个新的 class 称为 NetworkAddress
。在以前的版本中,它返回 InetAddress
。出于某种原因,Couchbase 人员没有更新 dcp-client
版本 0.10.0
以使用较新的 API。根据上面 link 中的讨论,他们将很快发布。