2016-12-19 9 views
2

私はScala APIを使用しており、URLが4kbよりも長い場合にはGETリクエストが必要な場合があります。私たちは設定play.server.netty.maxInitialLineLengthセットが必要であることを見て、私は8192(8キロバイト)にこれを設定しようとしたが、それでも失敗する:私たちは、今プレイ2.4.8を実行している再生設定maxInitialLineLengthが機能しない

org.jboss.netty.handler.codec.frame.TooLongFrameException: An HTTP line is larger than 4096 bytes. 
    at org.jboss.netty.handler.codec.http.HttpMessageDecoder.readLine(HttpMessageDecoder.java:670) ~[netty-3.10.5.Final.jar:na] 
    at org.jboss.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:184) ~[netty-3.10.5.Final.jar:na] 
    at org.jboss.netty.handler.codec.http.HttpMessageDecoder.decode(HttpMessageDecoder.java:102) ~[netty-3.10.5.Final.jar:na] 
    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500) ~[netty-3.10.5.Final.jar:na] 
    at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:485) ~[netty-3.10.5.Final.jar:na] 
    at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) ~[netty-3.10.5.Final.jar:na] 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) [netty-3.10.5.Final.jar:na] 
    at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) [netty-3.10.5.Final.jar:na] 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) [netty-3.10.5.Final.jar:na] 
    at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) [netty-3.10.5.Final.jar:na] 

。私が紛失しているものはありますか?

答えて

0

これはローカルでテストしており、runコマンドでPlayを開始すると仮定します。

このとき、application.confを読み取る前にHTTPサーバーを起動しているため、application.confのHTTPサーバー設定を適用できません(公式Play documentationも参照してください)。

あなたはこの作業を取得するための3つのオプションがあります。

    がプロダクションモードでアプリを起動、または
  1. は、ビルドを修正(run -Dplay.server.netty.maxInitialLineLength=8192)の代わりにJVMパラメータとして設定を提供する、または
  2. 。 sbt(devSettings := Map("play.server.netty.maxInitialLineLength" -> "8192"))。
関連する問題