Created
September 23, 2013 17:43
-
-
Save sigbjod/6674241 to your computer and use it in GitHub Desktop.
java.io.IOException caught while using a RandomAccessFile object for the 2nd time in Netty
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private void finish(ChannelHandlerContext channel, HttpResponse response, | |
RandomAccessFile gif, String contentType) { | |
ChannelFuture future = null; | |
try { | |
long fileLength = gif.length(); | |
response.headers().set(CONTENT_LENGTH, fileLength); | |
response.headers().set(CONTENT_TYPE, contentType); | |
future = channel.write(response); | |
DefaultFileRegion region = new DefaultFileRegion(gif.getChannel(), 0, | |
fileLength); | |
future = channel.writeAndFlush(region); | |
future.addListener(ChannelFutureListener.CLOSE); | |
} catch (IOException e) { | |
// TODO Auto-generated catch block | |
e.printStackTrace(); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
java.io.IOException: Stream Closed | |
at java.io.RandomAccessFile.length(Native Method) | |
at com.fiftyfive.ubik.netty.HttpGetRequestHandler.finish(HttpGetRequestHandler.java:159) | |
at com.fiftyfive.ubik.netty.HttpGetRequestHandler.channelRead(HttpGetRequestHandler.java:122) | |
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) | |
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) | |
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) | |
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) | |
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) | |
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) | |
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) | |
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) | |
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:173) | |
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) | |
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) | |
at com.fiftyfive.common.netty.ResponseTimeLoggerHandler.channelRead(ResponseTimeLoggerHandler.java:39) | |
at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) | |
at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) | |
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) | |
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:100) | |
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:478) | |
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:447) | |
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:341) | |
at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:101) | |
at java.lang.Thread.run(Thread.java:724) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment