Java堆空间错误[Struts2 Json]

时间:2016-10-27 05:24:41

标签: java struts2 struts2-json-plugin

我有一个Java Web应用程序(strust2),它确实使用struts2-json插件来处理json个请求。最近,我发现了一个非常奇怪的错误Java Heap Space

这是我的struts.xml

      <action name="saveSigned"
        class="org.xxx.xxx.xxx.action.marriage.SaveSigned">
        <interceptor-ref name="json">
            <param name="enableSMD">true</param>
        </interceptor-ref>

            <result type="json">  
            <param name="contentType">application/json</param>                  
            </result>           
        <param name="requiredAuthorities">F_ADD_MARRIAGE</param>

    </action>

生成JSON数据并将其发送到此操作saveSigned。这是正在发送的JSON数据:

  

encodedBase64: “somebase64encodeddata”,   UUID: “someUUID”

所以我只发送这两个变量,由struts2-json插件自动处理。根据{{​​1}},我从uuId获取了一些数据..这就是我收到错误的地方。我不明白为什么它会database给我jave heap error,因为在代码中我不使用它。

这是抛出此错误的代码:

struts2-json

错误本身

  

java.lang.OutOfMemoryError:Java堆空间       at java.util.Arrays.copyOf(Arrays.java:3332)       at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:137)       at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:121)       at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:421)       在java.lang.StringBuilder.append(StringBuilder.java:136)       在java.lang.StringBuilder.append(StringBuilder.java:131)       在org.apache.struts2.json.JSONWriter.add(JSONWriter.java:578)       在org.apache.struts2.json.JSONWriter.array(JSONWriter.java:498)       在org.apache.struts2.json.JSONWriter.process(JSONWriter.java:158)       在org.apache.struts2.json.JSONWriter.value(JSONWriter.java:134)       at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:401)       在org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:231)       在org.apache.struts2.json.JSONWriter.processCustom(JSONWriter.java:178)       在org.apache.struts2.json.JSONWriter.process(JSONWriter.java:168)       在org.apache.struts2.json.JSONWriter.value(JSONWriter.java:134)       在org.apache.struts2.json.JSONWriter.array(JSONWriter.java:492)       在org.apache.struts2.json.JSONWriter.process(JSONWriter.java:158)       在org.apache.struts2.json.JSONWriter.value(JSONWriter.java:134)       at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:401)       在org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:231)       在org.apache.struts2.json.JSONWriter.processCustom(JSONWriter.java:178)       在org.apache.struts2.json.JSONWriter.process(JSONWriter.java:168)       在org.apache.struts2.json.JSONWriter.value(JSONWriter.java:134)       在org.apache.struts2.json.JSONWriter.array(JSONWriter.java:492)       在org.apache.struts2.json.JSONWriter.process(JSONWriter.java:158)       在org.apache.struts2.json.JSONWriter.value(JSONWriter.java:134)       at org.apache.struts2.json.JSONWriter.add(JSONWriter.java:401)       在org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:231)       在org.apache.struts2.json.JSONWriter.processCustom(JSONWriter.java:178)       在org.apache.struts2.json.JSONWriter.process(JSONWriter.java:168)       在org.apache.struts2.json.JSONWriter.value(JSONWriter.java:134)       在org.apache.struts2.json.JSONWriter.array(JSONWriter.java:492)

因此,marriage = xxxRegisterService.getMarriageUuId(getUuId()); 只分配1个简单文本struts2-json ..并基于uuId我从数据库中获取一些数据,然后将其分配给变量。

奇怪的是,一切正常。我可以看到数据库中的所有更改,应用程序返回uuId但仅在一分钟之后它会抛出此错误..

0 个答案:

没有答案