0

我正在编写一个spring webservice服务器,需要将一个大文件从客户端上传到服务器。到目前为止,直到 100MB 都可以,但在那之后它会因内存不足错误而崩溃。

java.lang.OutOfMemoryError:java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100) 处 java.util.Arrays.copyOf(Arrays.java:2882) 处的 Java 堆空间 java.lang.AbstractStringBuilder.append(AbstractStringBuilder. java:515) 在 java.lang.StringBuilder.append(StringBuilder.java:189) 在 com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:323) 在 com.sun.xml .bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:187) 在 com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:360)

这是我的配置:

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
    <property name="contextPath" value="epost.mojito.ws.wsdl" />
    <property name="mtomEnabled" value="true"></property>
</bean>

<bean id="messageFactory" class="org.springframework.ws.soap.axiom.AxiomSoapMessageFactory">
    <description>A message factory to support SOAP 1.2</description>
    <property name="soapVersion">
        <util:constant static-field="org.springframework.ws.soap.SoapVersion.SOAP_12" />
    </property>
    <property name="payloadCaching" value="false" />
    <property name="attachmentCaching" value="true" />
    <property name="attachmentCacheThreshold" value="1024"/>
    <property name="attachmentCacheDir" value="D:/mojito attachment test/cache"/>

</bean>

请帮忙!...谢谢

4

1 回答 1

0

我不确定,但我发现这个线程有一些调整,他设法发送了 900MB。看看,这里

于 2012-07-12T17:37:31.190 回答