我开始看到制作中的错误对我来说是个新手。看起来Java Riak客户端驱动程序出现错误,然后我收到了来自netty的数千个错误的垃圾邮件。
这是我看到的堆栈跟踪:
java.lang.IllegalAccessError: io/netty/channel/AdaptiveRecvByteBufAllocator$HandleImpl/
at io.netty.channel.AdaptiveRecvByteBufAllocator.newHandle(AdaptiveRecvByteBufAllocator.java:180)/
at io.netty.channel.AbstractChannel$AbstractUnsafe.recvBufAllocHandle(AbstractChannel.java:434)/
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:110)/
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:610)/
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:551)/
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:465)/
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:437)/
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873)/
at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)/
at java.lang.Thread.run(Thread.java:748)
读取netty代码库,这看起来像一个对象实例化:
@Override
public Handle newHandle() {
return new HandleImpl(minIndex, maxIndex, initial);
}
在我看到这个例外之后,我首先在我的日志中看到它:
Operation onException() channel: id:306028938 riakts.service.consul:8087 java.lang.IllegalAccessError:
tried to access class io.netty.channel.AbstractChannel$AbstractUnsafe$7 from class io.netty.channel.AbstractChannel$AbstractUnsafe
我真的很遗憾可能会导致IllegalAccessError。有关可能导致此异常或如何处理此异常的指导?如果我反弹我的生产应用程序它会消失,我会感觉很强烈,但作为回应我觉得非常hacky,我希望能做得更好。