TomcatやJBossにおけるjava.lang.ArrayIndexOutOfBoundsException:8192 エラーの原因及びその解決方法
2011/10/31 23:16Update
TomcatやJBossなどのアプリケーションサーバでのArrayIndexOutOfBoundsException:8192エラー時の原因及びその対策。
エラー例:
原因:
考えられる一つの原因として、
HttpHeaderSize(HTTPヘッダサイズ)は8192を超えている
解決策
TomcatやJBossのserver.xmlを開き、
maxHttpHeaderSize
を定義するところに、
maxHttpHeaderSize="81920"
とか適当なサイズに変更してサーバを再起動すれば直ると思います。
または、AJP connectorの場合、
maxHttpHeaderSizeではなく、packetSizeを定義します。
例:
.
java.lang.ArrayIndexOutOfBoundsException: 8192
at org.apache.coyote.ajp.AjpMessage.appendByte(AjpMessage.java:144)
at org.apache.coyote.ajp.AjpMessage.appendString(AjpMessage.java:261)
at org.apache.coyote.ajp.AjpMessage.appendBytes(AjpMessage.java:178)
at org.apache.coyote.ajp.AjpProcessor.prepareResponse(AjpProcessor.java:965)
at org.apache.coyote.ajp.AjpProcessor.action(AjpProcessor.java:497)
at org.apache.coyote.Response.action(Response.java:183)
...
at org.apache.coyote.ajp.AjpMessage.appendByte(AjpMessage.java:144)
at org.apache.coyote.ajp.AjpMessage.appendString(AjpMessage.java:261)
at org.apache.coyote.ajp.AjpMessage.appendBytes(AjpMessage.java:178)
at org.apache.coyote.ajp.AjpProcessor.prepareResponse(AjpProcessor.java:965)
at org.apache.coyote.ajp.AjpProcessor.action(AjpProcessor.java:497)
at org.apache.coyote.Response.action(Response.java:183)
...
原因:
考えられる一つの原因として、
HttpHeaderSize(HTTPヘッダサイズ)は8192を超えている
解決策
TomcatやJBossのserver.xmlを開き、
maxHttpHeaderSize
を定義するところに、
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
maxHttpHeaderSize="81920"
とか適当なサイズに変更してサーバを再起動すれば直ると思います。
または、AJP connectorの場合、
maxHttpHeaderSizeではなく、packetSizeを定義します。
例:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" packetSize="81920" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" />
.
Sponsored Link
Comments
- Relative Articles
- Java開発及び実行環境の構築 | Linux篇 - (2008/08/31 20:34)
- Java開発及び実行環境の構築 | Windows篇 - (2008/08/31 21:18)
- 5分でJava Hello World! - (2008/08/31 22:13)
- Java言語の制御構文 - 条件分岐if/else/else if - (2008/10/01 21:30)
- Java言語の繰り返し制御構文 - for文 - (2008/10/03 18:22)
- Java言語の繰り返し制御構文 - do ... while文 - (2008/10/03 21:23)
- Java言語の繰り返し制御構文 - while文 - (2008/10/03 21:32)
- Java言語の基礎 - javacコマンドによるコンパイル - (2008/10/10 17:58)
- Java アクセス修飾子概要 - (2008/10/29 18:31)
- Javaアノテーション機能 概要 - (2009/02/12 13:06)