2013-07-05 34 views
0

我是netty的新手。我改變了HexDumpProxy的例子,通過添加http編解碼器處理器將解碼後的http消息從服務器通道寫入後端客戶端通道,當客戶端獲得http響應時,它將解碼消息並將響應消息寫回inboundChannel(in messageReceived事件)。但是這總是會導致io.netty.buffer.IllegalBufferAccessException異常。我會非常感謝你的任何幫助。謝謝你的時間。將解碼的消息從一個通道寫入另一個通道導致IllegalBufferAccessException異常

io.netty.buffer.IllegalBufferAccessException 在io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:114) 在io.netty.handler.codec.http.DefaultFullHttpRequest.release(DefaultFullHttpRequest.java:69 ) 在io.netty.buffer.BufUtil.release(BufUtil.java:76) 在io.netty.channel.ChannelHandlerUtil.handleInboundBufferUpdated(ChannelHandlerUtil.java:62) 在io.netty.channel.ChannelInboundMessageHandlerAdapter.inboundBufferUpdated(ChannelInboundMessageHandlerAdapter .java:100) at io.netty.channel.DefaultChannelHandlerContext.invokeInboundBufferUpdated(DefaultChannelHandlerContext.java:1031) at io.netty.channel.De faultChannelHandlerContext.fireInboundBufferUpdated0(DefaultChannelHandlerContext.java:998) 在io.netty.channel.DefaultChannelHandlerContext.fireInboundBufferUpdated(DefaultChannelHandlerContext.java:978) 在io.netty.channel.ChannelHandlerUtil.handleInboundBufferUpdated(ChannelHandlerUtil.java:69) 在IO。 netty.channel.ChannelInboundMessageHandlerAdapter.inboundBufferUpdated(ChannelInboundMessageHandlerAdapter.java:100) 在io.netty.channel.DefaultChannelHandlerContext.invokeInboundBufferUpdated(DefaultChannelHandlerContext.java:1031) 在io.netty.channel.DefaultChannelHandlerContext.fireInboundBufferUpdated0(DefaultChannelHandlerContext.java:998) at io.netty.channel.DefaultChannelHandlerContext.fireInboundBufferUpdated(DefaultChannelHandlerContext.java:978) at i o.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:441) 在io.netty.handler.codec.ByteToMessageDecoder.inboundBufferUpdated(ByteToMessageDecoder.java:69) 在io.netty.channel.ChannelInboundByteHandlerAdapter.inboundBufferUpdated( ChannelInboundByteHandlerAdapter.java:46) 在io.netty.channel.CombinedChannelDuplexHandler.inboundBufferUpdated(CombinedChannelDuplexHandler.java:175) 在io.netty.channel.DefaultChannelHandlerContext.invokeInboundBufferUpdated(DefaultChannelHandlerContext.java:1031) 在io.netty.channel。 DefaultChannelHandlerContext.fireInboundBufferUpdated0(DefaultChannelHandlerContext.java:998) at io.netty.channel.DefaultChannelHandlerContext.fireInboundBufferUpdated(DefaultChannelHandlerContext.java:978) at io.netty.channel.Defaul tChannelPipeline.fireInboundBufferUpdated(DefaultChannelPipeline.java:828) 在io.netty.channel.nio.AbstractNioByteChannel $ NioByteUnsafe.read(AbstractNioByteChannel.java:118) 在io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java: 429) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:392) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:322) at io.netty.util。 concurrent.SingleThreadEventExecutor $ 2.run(SingleThreadEventExecutor.java:114) at java.lang.Thread.run(未知來源)

回答

0

此版本以來的API已更改..請使用4.0.0的最新版本。 CR9。

相關問題