대용량업로드
- 작성자 :
- 정*숙
- 작성일 :
- 2013-02-01 23:38:21
- 조회수 :
- 1,924
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요.
eclipse.ini에 아래와 같이 세팅되어 있습니다.
javaw -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=64M -XX:MaxPermSize=128M -XX:MaxNewSize=32M -XX:NewSize=32M -Xms1024m -Xmx1024M
context-common.xml에서는 아래와 같이 세팅되어 있구요
<!-- MULTIPART RESOLVERS -->
<!-- regular spring resolver -->
<bean id="spring.RegularCommonsMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="1000000000" />
<property name="maxInMemorySize" value="1000000000" />
</bean>
<!-- custom multi file resolver -->
<bean id="local.MultiCommonsMultipartResolver" class="egovframework.com.cmm.web.EgovMultipartResolver">
<property name="maxUploadSize" value="1000000000" />
<property name="maxInMemorySize" value="1000000000" />
</bean>
<!-- choose one from above and alias it to the name Spring expects -->
<!-- alias name="local.MultiCommonsMultipartResolver" alias="multipartResolver" /-->
<alias name="spring.RegularCommonsMultipartResolver" alias="multipartResolver" />
그런데 90MB정도의 파일 첨부를 하면
java.lang.OutOfMemoryError: Java heap space
at org.apache.commons.io.output.ByteArrayOutputStream.needNewBuffer(ByteArrayOutputStream.java:124)
at org.apache.commons.io.output.ByteArrayOutputStream.write(ByteArrayOutputStream.java:155)
at org.apache.commons.io.output.ThresholdingOutputStream.write(ThresholdingOutputStream.java:131)
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:103)
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:66)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:366)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at org.springframework.web.multipart.commons.CommonsMultipartResolver.parseRequest(CommonsMultipartResolver.java:155)
at org.springframework.web.multipart.commons.CommonsMultipartResolver.resolveMultipart(CommonsMultipartResolver.java:138)
와 같은 에러가 납니다.
해결할 수 있는 방법은 없을까요?
eclipse.ini에 아래와 같이 세팅되어 있습니다.
javaw -vmargs -Xverify:none -XX:+UseParallelGC -XX:PermSize=64M -XX:MaxPermSize=128M -XX:MaxNewSize=32M -XX:NewSize=32M -Xms1024m -Xmx1024M
context-common.xml에서는 아래와 같이 세팅되어 있구요
<!-- MULTIPART RESOLVERS -->
<!-- regular spring resolver -->
<bean id="spring.RegularCommonsMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="1000000000" />
<property name="maxInMemorySize" value="1000000000" />
</bean>
<!-- custom multi file resolver -->
<bean id="local.MultiCommonsMultipartResolver" class="egovframework.com.cmm.web.EgovMultipartResolver">
<property name="maxUploadSize" value="1000000000" />
<property name="maxInMemorySize" value="1000000000" />
</bean>
<!-- choose one from above and alias it to the name Spring expects -->
<!-- alias name="local.MultiCommonsMultipartResolver" alias="multipartResolver" /-->
<alias name="spring.RegularCommonsMultipartResolver" alias="multipartResolver" />
그런데 90MB정도의 파일 첨부를 하면
java.lang.OutOfMemoryError: Java heap space
at org.apache.commons.io.output.ByteArrayOutputStream.needNewBuffer(ByteArrayOutputStream.java:124)
at org.apache.commons.io.output.ByteArrayOutputStream.write(ByteArrayOutputStream.java:155)
at org.apache.commons.io.output.ThresholdingOutputStream.write(ThresholdingOutputStream.java:131)
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:103)
at org.apache.commons.fileupload.util.Streams.copy(Streams.java:66)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:366)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at org.springframework.web.multipart.commons.CommonsMultipartResolver.parseRequest(CommonsMultipartResolver.java:155)
at org.springframework.web.multipart.commons.CommonsMultipartResolver.resolveMultipart(CommonsMultipartResolver.java:138)
와 같은 에러가 납니다.
해결할 수 있는 방법은 없을까요?
A
안녕하세요.. 정명숙님..
eclipse.ini에 설정하신 메모리는 eclpse를 사용되는 메모리 설정으로..
tomcat을 돌리시는 거랑은 상관이 없습니다.
tomcat 서버를 기동시키는 스크립트 상에 메모리 설정을 변경하셔야 합니다.
혹.. eclipse의 server plugin을 통해 tomcat을 기동하시는 경우도..
Run -> Run Configurations 메뉴를 통해 Arguments 설정 상에 메모리 설정을 추가하셔야 합니다.
(대용량 업로드와 같은 테스트는 plugin 방식이 아니라 별도 tomcat을 통해 테스트하시는 것이 바람직할 것 같습니다.)
그럼.. 즐거운 하루되십시오.
감사합니다.
eclipse.ini에 설정하신 메모리는 eclpse를 사용되는 메모리 설정으로..
tomcat을 돌리시는 거랑은 상관이 없습니다.
tomcat 서버를 기동시키는 스크립트 상에 메모리 설정을 변경하셔야 합니다.
혹.. eclipse의 server plugin을 통해 tomcat을 기동하시는 경우도..
Run -> Run Configurations 메뉴를 통해 Arguments 설정 상에 메모리 설정을 추가하셔야 합니다.
(대용량 업로드와 같은 테스트는 plugin 방식이 아니라 별도 tomcat을 통해 테스트하시는 것이 바람직할 것 같습니다.)
그럼.. 즐거운 하루되십시오.
감사합니다.