问题描述:
1、Jetty 版本:jetty-9.2.2-v20140723;
2、在项目中,因修改资料中的表单项是根据当前这保单的被保人决定的,所以在团单时就存在大量的表单key从而导致JETTY容器抛 java.lang.IllegalStateException: Form too many key
根据堆栈信息,我们可以跟踪代码发现JETTY的maxFormContentSize=200000,maxFormKeys=1000,并且知道jetty读取的配置信息key分别如图所示:
3、到此我们知道原因了,那一下就是修改JETTY容器配置信息;
找到%JETTY_HOME%/etc/jetty.xml文件,在<Configure id="Server" class="org.eclipse.jetty.server.Server">节点下新增,如图:
<Call name="setAttribute">
<Arg>org.eclipse.jetty.server.Request.maxFormContentSize</Arg>
<Arg>9000000</Arg>
</Call>
<Call name="setAttribute">
<Arg>org.eclipse.jetty.server.Request.maxFormKeys</Arg>
<Arg>50000</Arg>
</Call>
具体数值,请根据自己项目实际情况来设置;
OK,到这就搞定了。
转载于:https://my.oschina.net/woter/blog/741355