안녕하세요
시스템 인수인계를 받아 관리도중 Open cursor 문제가 발생되어 질문드립니다.
해당 프로그램은 외부 프레임웍을 사용하여
DB접근합니다..
하지만 이 외부 프레임웍 클래스에는 close 란 클래스가 없네요 ;;
그래서 계속 DB에 open cursor 가 쌓여 apache를 restart 해줘야 하는 상황입니다.
프레임워크에 close가 명시되어 있지 않는 상황에서 close를 시키는 방법이 없을런지요 ㅜ
고수님들 부탁드립니다 ㅜㅜ
아래 소스 추가 합니다 ㅜ
protected void doFindList(aaaGenericDao dao)
{
aaaParameter param = new aaaParameter();
String paramVal0 = JspUtil.getParameter(ctx,"ST_LANG","");
String paramVal3 = JspUtil.getParameter(ctx,"IP_S_ACTN_MCLS_CD","");
String paramVal4 = JspUtil.getParameter(ctx,"IP_S_ACTN_GRP_NM","");
param.setWhereClauseParameter(0, paramVal0);
param.setWhereClauseParameter(1, paramVal0);
param.setWhereClauseParameter(2, paramVal3);
param.setWhereClauseParameter(3, paramVal4);
param.setWhereClauseParameter(4, paramVal4);
param.setWhereClauseParameter(5, paramVal4);
if (logger.isDebugEnabled()) logger.logDebug("==> LSTSEL Start: " + this.getClass().getName());
aaaRowSet rowset = dao.find("A01060101.LSTSEL", param);
if (logger.isDebugEnabled()) logger.logDebug("==> LSTSEL end: " + this.getClass().getName());
ctx.put("DS_ACTN_MCLS", rowset); /
if( rowset.count() < 1 ){
JspUtil.setGauceMessage(ctx,"조회결과가없습니다.");
}
}
음.. ㅡ,.ㅡ;;; 그럼 프레임워크에서 제공하는 것들이 죄다 그렇다면 프레임워크를 통해 이용하는 부분 보면 DB쪽 연계 하는 부분이 있습니다. 프레임워크일 뿐이지 결국 DB 접속하는 것은 원래 자바 JDBC API만을 이용하기 때문에 연계하는 부분... 후킹(가로채는) 수준도 아니고, 연계하는 부분만 찾아 보시면 JDBC API 접점이 분명 있습니다. 그것을 확인하시고, 닫는 처리해주시면 됩니다. 음.. 주변 자바 경험을 가지신 분이 계시면 쉽게 찾을 수 있는 부분 같습니다. 도움을 요청하시고, 왜 못찾은 부분인지 이해하시면 좋은 경험이 되실 것 같습니다.