• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 1299
2009.03.10 (18:43:34)
안녕하세요?

쉬프트정보통신 솔루션 지원팀 입니다.

해당 문제는 가우스와 무관한 에러입니다.

ibatis 에서 queryForList를 통해서 대량의 데이타 조회는 지원하지 않습니다.

한계치는 WAS의 heap 메모리 설정에 따라 다릅니다.

현재 문제는 많은양의 ROW가 queryForList에 의해 호출되어 WAS의 Heap메모리상의 List객체에

적재된 후에 iBATIS에서 리턴되게 되는데 문제는 sql실행 후에 메모리에 적재될 때 메모리가 부족하여

발생하는 오류 입니다.

따라서 대용량 데이터의 경우에는 queryForList보다는 직접적으로 ResultSet에서 값을 꺼내

데이터셋에 입력하는 형태로 사용하시길 바랍니다. (일반적인 JDBC)

아래 메일로 연락처와 해당 프로젝트명 등을 기입해서 보내주시면 도움을 드릴 수 있을 것 같습니다.

rogerrb골벵이shift.co.kr


>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 :
>* GAUCE 버전 : 5.0
>* WAS 종류(WebLogic 등등) : 톰켓
>* DB 종류 : oracle 10g
>* 문의 유형(질문/요청/참조) :
>* 내용 :
>
>자료 조회는 되고 있는 상태이지만
>대량의 자료 조회는 되지 않습니다.
>
>java.lang.reflect.UndeclaredThrowableException
>        at $Proxy0.execute(Unknown Source)
>        at com.shift.framework.connector.ServiceControllerFactory.handleRequest(ServiceControllerFactory.java:173)
>        at com.shift.framework.servlet.WebController.doPost(WebController.java:129)
>        at com.shift.framework.servlet.WebController.doGet(WebController.java:105)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at com.gauce.filter.GauceFilter.doFilter(Unknown Source)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
>        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>        at java.lang.Thread.run(Thread.java:619)
>Caused by: java.lang.reflect.InvocationTargetException
>        at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at com.shift.framework.proxy.ServiceProxy.execute(ServiceProxy.java:133)
>        at com.shift.framework.proxy.ServiceProxy.invoke(ServiceProxy.java:112)
>        ... 21 more
>Caused by: java.lang.OutOfMemoryError: Java heap space
>        at java.util.Arrays.copyOfRange(Arrays.java:3209)
>        at java.lang.String.<init>(String.java:216)
>        at java.lang.StringBuffer.toString(StringBuffer.java:585)
>        at com.ibatis.common.jdbc.logging.ResultSetLogProxy.invoke(ResultSetLogProxy.java:65)
>        at $Proxy4.next(Unknown Source)
>        at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:643)
>        at com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:561)
>        at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:314)
>        at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.sqlExecuteQuery(GeneralStatement.java:437)
>        at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryWithCallback(GeneralStatement.java:355)
>        at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForList(GeneralStatement.java:171)
>        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:726)
>        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:700)
>        at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:196)
>        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:172)
>        at kr.sanhang.UK01.bean.UK010201_01Bean.selectUK010201_01(UK010201_01Bean.java:16)
>        at kr.sanhang.UK01.cmd.RetrieveUK010201_01Cmd.process(RetrieveUK010201_01Cmd.java:21)
>        at kr.sanhang.common.base.BaseAction.execute(BaseAction.java:24)
>        at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:597)
>        at com.shift.framework.proxy.ServiceProxy.execute(ServiceProxy.java:133)
>        at com.shift.framework.proxy.ServiceProxy.invoke(ServiceProxy.java:112)
>        at $Proxy0.execute(Unknown Source)
>        at com.shift.framework.connector.ServiceControllerFactory.handleRequest(ServiceControllerFactory.java:173)
>        at com.shift.framework.servlet.WebController.doPost(WebController.java:129)
>        at com.shift.framework.servlet.WebController.doGet(WebController.java:105)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>        at com.gauce.filter.GauceFilter.doFilter(Unknown Source)
 
Tag List
XE Login