database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 713 게시물 읽기
No. 713
Q.컨넥션풀에러:AbandonedObjectPool is used
작성자
김남진
작성일
2007-11-18 17:03
조회수
4,405

안녕하세요.

 

톰캣6.0에서 콘넥션 풀 이용하고 싶어 밑에 환경으로 구성했습니다.

우편번호 테이블에서 석수2동으로 검색한 결과를 뿌리는 간단한 쿼리입니다.

물론 우편번호 테이블은 정상적으로 만들어 졌구요.

 

어제 하루종일 이런 메시지가 뜨면서 아무것도 화면에 나오지 않더군요.

밑의 메시지는 콘솔 창에 한번만 뜹니다.

처음 페이지 호출때 콘솔에 한번 뜨고 다음 호출부터는 안뜨네요.

결과 화면은 백지로 아무것도 안 나왔구요.

 

메시지내용

===================================================

AbandonedObjectPool is used (org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool@1e758ca)

   LogAbandoned: true

   RemoveAbandoned: true

   RemoveAbandonedTimeout: 60

===================================================

 

답답해서 오늘은 이클립스에서 작업 디렉토리(c:/webapps)를 새로 생성하고 밑의 내용으로 다시 테스트 했습니다.

그랬더니 작동은 하는데 톰캣 기동하고 첫번째 호출에서 위의 메시지가 꼭 나오는군요.

 

이대로 써도 괜찮은건지...

같은 소스에 같은 메시지인데 어제는 왜 작동을 하지 않았는지 궁금합니다.

 

테스트 환경

===================

Windows XP

Tomcat 6.0

JDK 1.6

Cudrid 7.3

====================

 

라이브러리

========================

commons-collections-3.2.jar

commons-dbcp-1.2.2..jar

commons-pool-1.3.jar

========================

 

web.xml

===========================================================

<?xml version=\"1.0\" encoding=\"UTF-8\"?>

<web-app id=\"WebApp_9\" version=\"2.4\" xmlns=\"http://java.sun.com/xml/ns/j2ee\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd\">

 

    <welcome-file-list>

        <welcome-file>index.html</welcome-file>

    </welcome-file-list>

 

        <resource-ref>

            <description>DB Connection</description>

            <res-ref-name>jdbc/CUBRIDDS</res-ref-name>

            <res-type>javax.sql.DataSource</res-type>

            <res-auth>Container</res-auth>

        </resource-ref>

 

</web-app>

===========================================================

 

Test.xml

=============================================================

<Context path=\"/Test\" reloadable=\"true\" docBase=\"C:\\webapps\\Test\" workDir=\"C:\\webapps\\Test\\work\" >

        <Resource name=\"jdbc/CUBRIDDS\"

                auth=\"Container\"

                type=\"javax.sql.DataSource\"

                driverClassName=\"cubrid.jdbc.driver.CUBRIDDriver\"

                url=\"jdbc:cubrid:localhost:33000:ULZIP:::\"

                username=\"dba\"

                password=\"\"

                maxActive=\"10\"

                maxIdle=\"10\"

                maxWait=\"-1\"

                removeAbandoned=\"true\"

                removeAbandonedTimeout=\"60\"

                logAbandoned=\"true\"/>

</Context>

=============================================================

 

TestCubrid.jsp

===============================================================

<%@ page contentType=\"text/html; charset=utf-8\"%>

<%@ page import=\"java.sql.*\" %>

<%@ page import=\"javax.sql.*\" %>

<%@ page import=\"javax.naming.*\" %>

 

<%

        Connection   conn = null;

        Statement    stmt = null;

        ResultSet    rs = null;

  

        try{

                Context initContext = new InitialContext();

                DataSource ds = (DataSource) initContext.lookup(\"java:comp/env/jdbc/CUBRIDDS\");

        

                conn = ds.getConnection();

                

                stmt = conn.createStatement();

        

                rs = stmt.executeQuery(\"select * from zipcode where dong=\'석수2동\'\" );

        

                while(rs.next()){

                        out.print(rs.getString(\"zipcode\"));

                        out.print(rs.getString(\"sido\"));

                        out.print(rs.getString(\"gugun\"));

                        out.print(rs.getString(\"dong\"));

                        out.print(rs.getString(\"ri\"));

                        out.print(\"<br/>\");

                }

                

                rs.close();

                stmt.close();

                 conn.close();

        

        }catch(Exception e){

                e.printStackTrace();

        }

%>

====================================================================

 

결과 화면 내용

============================================================

430-706경기안양시 만안구석수2동럭키아파트

430-707경기안양시 만안구석수2동석수LG빌리지아파트

430-752경기안양시 만안구석수2동한신아파트

430-708경기안양시 만안구석수2동현대아파트

430-852경기안양시 만안구석수2동

430-805경기안양시 만안구석수2동

430-807경기안양시 만안구석수2동

430-806경기안양시 만안구석수2동

430-807경기안양시 만안구석수2동

430-805경기안양시 만안구석수2동

430-807경기안양시 만안구석수2동

430-809경기안양시 만안구석수2동

430-809경기안양시 만안구석수2동

430-852경기안양시 만안구석수2동

430-809경기안양시 만안구석수2동

430-809경기안양시 만안구석수2동

430-042경기안양시 만안구석수2동

============================================================

 

 

 

이 글에 대한 댓글이 총 1건 있습니다.

메시지 내용은 사용되지 않고 있는 커넥션을 제거하고 재생되도록 DBCP를 설정하기 위해 설정하는 RemoveAbandoned 파라미터를 true로 설정하였기 때문에 나타나는 메시지로 이러한 메시지가 나타나더라도 사용하는데에는 영향이 없는 것 같습니다.

굳이 메시지가 나타나지 않기를 원하신다면 RemoveAbandoned 파라미터를 false로 설정하거나 해당 파라미터 설정을 지우면 이와 같은 기능을 사용하지 않게 됩니다.

대신에 명시적으로 ResultSet, Statement, Connection을 닫아야 합니다. 웹 애플리케이션에서 이들 자원들을 닫지 못하게 되면 다시 재사용할 수가 없으며 데이타베이스 커넥션 풀 구멍이 생깁니다. 이러한 구멍이 쌓이게 되어 더이상 사용 가능한 커넥션이 없을 때 커넥션 에러가 발생하게 됩니다.

 

 

>안녕하세요.

>

>톰캣6.0에서 콘넥션 풀 이용하고 싶어 밑에 환경으로 구성했습니다.

>우편번호 테이블에서 석수2동으로 검색한 결과를 뿌리는 간단한 쿼리입니다.

>물론 우편번호 테이블은 정상적으로 만들어 졌구요.

>

>어제 하루종일 이런 메시지가 뜨면서 아무것도 화면에 나오지 않더군요.

>밑의 메시지는 콘솔 창에 한번만 뜹니다.

>처음 페이지 호출때 콘솔에 한번 뜨고 다음 호출부터는 안뜨네요.

>결과 화면은 백지로 아무것도 안 나왔구요.

>

>메시지내용

>===================================================

>AbandonedObjectPool is used (org.apache.tomcat.dbcp.dbcp.AbandonedObjectPool@1e758ca)

>   LogAbandoned: true

>   RemoveAbandoned: true

>   RemoveAbandonedTimeout: 60

>===================================================

>

>답답해서 오늘은 이클립스에서 작업 디렉토리(c:/webapps)를 새로 생성하고 밑의 내용으로 다시 테스트 했습니다.

>그랬더니 작동은 하는데 톰캣 기동하고 첫번째 호출에서 위의 메시지가 꼭 나오는군요.

>

>이대로 써도 괜찮은건지...

>같은 소스에 같은 메시지인데 어제는 왜 작동을 하지 않았는지 궁금합니다.

>

>테스트 환경

>===================

>Windows XP

>Tomcat 6.0

>JDK 1.6

>Cudrid 7.3

>====================

>

>라이브러리

>========================

>commons-collections-3.2.jar

>commons-dbcp-1.2.2..jar

>commons-pool-1.3.jar

>========================

>

>web.xml

>===========================================================

><?xml version=\"1.0\" encoding=\"UTF-8\"?>

><web-app id=\"WebApp_9\" version=\"2.4\" xmlns=\"http://java.sun.com/xml/ns/j2ee\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd\">

>

>    <welcome-file-list>

>        <welcome-file>index.html</welcome-file>

>    </welcome-file-list>

>

>        <resource-ref>

>            <description>DB Connection</description>

>            <res-ref-name>jdbc/CUBRIDDS</res-ref-name>

>            <res-type>javax.sql.DataSource</res-type>

>            <res-auth>Container</res-auth>

>        </resource-ref>

>

></web-app>

>===========================================================

>

>Test.xml

>=============================================================

><Context path=\"/Test\" reloadable=\"true\" docBase=\"C:\\webapps\\Test\" workDir=\"C:\\webapps\\Test\\work\" >

>        <Resource name=\"jdbc/CUBRIDDS\"

>                auth=\"Container\"

>                type=\"javax.sql.DataSource\"

>                driverClassName=\"cubrid.jdbc.driver.CUBRIDDriver\"

>                url=\"jdbc:cubrid:localhost:33000:ULZIP:::\"

>                username=\"dba\"

>                password=\"\"

>                maxActive=\"10\"

>                maxIdle=\"10\"

>                maxWait=\"-1\"

>                removeAbandoned=\"true\"

>                removeAbandonedTimeout=\"60\"

>                logAbandoned=\"true\"/>

></Context>

>=============================================================

>

>TestCubrid.jsp

>===============================================================

><%@ page contentType=\"text/html; charset=utf-8\"%>

><%@ page import=\"java.sql.*\" %>

><%@ page import=\"javax.sql.*\" %>

><%@ page import=\"javax.naming.*\" %>

>

><%

>        Connection   conn = null;

>        Statement    stmt = null;

>        ResultSet    rs = null;

>  

>        try{

>                Context initContext = new InitialContext();

>                DataSource ds = (DataSource) initContext.lookup(\"java:comp/env/jdbc/CUBRIDDS\");

>        

>                conn = ds.getConnection();

>                

>                stmt = conn.createStatement();

>        

>                rs = stmt.executeQuery(\"select * from zipcode where dong=\'석수2동\'\" );

>        

>                while(rs.next()){

>                        out.print(rs.getString(\"zipcode\"));

>                        out.print(rs.getString(\"sido\"));

>                        out.print(rs.getString(\"gugun\"));

>                        out.print(rs.getString(\"dong\"));

>                        out.print(rs.getString(\"ri\"));

>                        out.print(\"<br/>\");

>                }

>                

>                rs.close();

>                stmt.close();

>                 conn.close();

>        

>        }catch(Exception e){

>                e.printStackTrace();

>        }

>%>

>====================================================================

>

>결과 화면 내용

>============================================================

>430-706경기안양시 만안구석수2동럭키아파트

>430-707경기안양시 만안구석수2동석수LG빌리지아파트

>430-752경기안양시 만안구석수2동한신아파트

>430-708경기안양시 만안구석수2동현대아파트

>430-852경기안양시 만안구석수2동

>430-805경기안양시 만안구석수2동

>430-807경기안양시 만안구석수2동

>430-806경기안양시 만안구석수2동

>430-807경기안양시 만안구석수2동

>430-805경기안양시 만안구석수2동

>430-807경기안양시 만안구석수2동

>430-809경기안양시 만안구석수2동

>430-809경기안양시 만안구석수2동

>430-852경기안양시 만안구석수2동

>430-809경기안양시 만안구석수2동

>430-809경기안양시 만안구석수2동

>430-042경기안양시 만안구석수2동

>============================================================

 

손승일님이 2007-11-19 10:48에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
717Q.메니져에서 예제에 있는 테이블 조회시 한글이 깨짐 [1]
박경호
2007-11-20
2632
716Q.Index 질문 [1]
유영철
2007-11-19
2800
714Q.응용프로그램 배포시 odbc 드라이버를 어떻게 배포해야 하죠? [1]
김대웅
2007-11-19
2717
713Q.컨넥션풀에러:AbandonedObjectPool is used [1]
김남진
2007-11-18
4405
712Q.마스터 서버 문의 입니다.. [1]
김남우
2007-11-17
2742
711Q.lls + php + 큐브리드7.30 -&gt; 그누보스 설치 문의 [1]
부흥
2007-11-16
2738
710Q.master서버에 대하여 [1]
이민수
2007-11-15
3287
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2019 DSN, All rights reserved.
작업시간: 0.275초, 이곳 서비스는
	PostgreSQL v11.5로 자료를 관리합니다