org.jboss.netty.handler.codec.frame.TooLongFrameException: HTTP content length exceeded 65536 bytes.

"이희승 (Trustin Lee)" trustin at gmail.com
Wed Nov 10 23:58:36 EST 2010


Please pass the increased maxContentLength when you create an
HttpChunkAggregator.

welcome123 wrote:
> Hi all,
> 
> I write a simple sever code,the hander codes are the following:
> public void messageReceived(
>               ChannelHandlerContext ctx, MessageEvent e) {
> 	   		  HttpRequest request = this.request = (HttpRequest) e.getMessage();
>           Map<String,String> headers = new HashMap();
>     	  if(!request.getHeaderNames().isEmpty()) {
>     		  for(String name: request.getHeaderNames()) {
>     			  for(String value: request.getHeaders(name)) {
>     				  System.out.println("HEADER: " + name + "=" + value);
>     				  headers.put(name, value);
>     			  }
>     		  }
>     		  System.out.println();
>     	  }//解析Header并输出
>     	  final String path = request.getUri();
>     	  System.out.println("PATH: " + path);//解析path并输出
>     	  HttpMethod method = request.getMethod();
>     	  System.out.println("METHOD: " + method);//解析method并输出
>     	  //request.
>     	  ChannelBuffer content = request.getContent();
>     	  if(content.readable()) {
>     		  System.out.println("CONTENT {");
>     		 // System.out.println(content.toString(CharsetUtil.UTF_8));
>     		  System.out.println("} END OF CONTENT");
>     	  }//解析content并输出
>     	System.out.println("************");		
>     	CassaOperator co = new CassaOperator();
> 		if(method == GET) {//读取操作
> 			co.do_GET(headers,path,content,ctx,request);
> 		}
> 		else if(method == PUT) {//创建 or 更新操作
> 			co.do_PUT(headers,path,content,ctx,request);			
> 		}
> 		else if(method == DELETE){//删除操作
> 			co.do_DELETE(headers,path,content,ctx,request);
> 		}
> 		else {
> 			System.out.println("unvalid method!!!!!!!!!!");
> 			sendHttpResponse(ctx,request,new DefaultHttpResponse(HTTP_1_1,
> BAD_REQUEST));
> 			return;			
> 		}
> 
> But when I use client to upload a file whose capacity is 1M,there are some
> errors :
> 警告: Unexpected exception from downstream.
> org.jboss.netty.handler.codec.frame.TooLongFrameException: HTTP content
> length exceeded 65536 bytes.
> 	at
> org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:135)
> 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
> 	at
> org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:523)
> 	at
> org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:507)
> 	at
> org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444)
> 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
> 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
> 	at
> org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
> 	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
> 	at
> org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> 	at java.lang.Thread.run(Unknown Source)
> Can you help me?

-- 
Trustin Lee - http://gleamynode.net/


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 290 bytes
Desc: OpenPGP digital signature
Url : http://lists.jboss.org/pipermail/netty-users/attachments/20101111/2c817d7e/attachment.bin 


More information about the netty-users mailing list