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
운영게시판
최근게시물
Oracle Tutorials 12483 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 12483
Oracle connection pool
작성자
정재익(advance)
작성일
2002-11-05 07:36
조회수
15,503

안녕하세요 몇분의 요청으로 이렇게 소스를 올립니다

 

ORACLE DB SESSION POOL 또는 ORACLE DB CONNECTION POOL이라고 애기하죠

 

무슨일을 하느냐면 오라클과 미리 세션을 맺고 있다가 사용자APP의 요청이 있으면 차례 차례 연결하는 역할이죠(POOLING) 사실 아주 간단해요

 

여기서 중요한것은 OracleConnectionCacheImpl CLASS 입니다 ORACLE OAS에서 제공하는 DB SESSIONPOOL은 이것을 상속받아 구현되었습니다

그러나 IAS 에서는 이것을 직접제작해서 써야됩니다. 아마 IAS 를 쓰시면 GLOBALS.JSA에 넣으면됩니다. JSP를 쓰면 USEBEAN 형태로 불렀쓰면되고 그냥 BEANS에서 쓰시면 IMPLEMENTATION 으로 불러 쓰시면 됩니다.

 

package com.dbpool;
import java.sql.*;
import javax.sql.*;
import oracle.jdbc.driver.*;
import oracle.jdbc.pool.*;

public class Trx {
   public Trx()   {
       // 생성자 
   }
   public Connection getConnection() {
      try {
         Connection conn = hdb.getConnection();
         return conn;
      } catch (Exception e) {
         e.printStackTrace(System.out);
         return null;
      }
   }

   public void setURL(String s)    {
      try {
         hdb = (OracleConnectionCacheImpl ) new OracleConnectionCacheImpl();
      } catch (Exception e) {
         e.printStackTrace(System.out);
      }

      hdb.setURL(s); 
   }

   public void setUser(String s)  {
      hdb.setUser(s); 
   }
   public void setPassword(String s)   {
      hdb.setPassword(s); 
   }
   public void setMaxLimit(int i) throws SQLException {
      hdb.setMaxLimit(i);
   }
   public void setMinLimit(int i) throws SQLException{
      hdb.setMaxLimit(i);
   }
   public void close(Connection pConn)   {
      try {
         pConn.close();
         pConn = null;

      } catch (Exception e) {
         e.printStackTrace(System.out);
         pConn = null;
      }
   }
   public void close(Statement pStmt)    {
      try {
         pStmt.close();
         pStmt = null;

      } catch (Exception e) {
         e.printStackTrace(System.out);
         pStmt = null;
      }
   }
   public void close(ResultSet prs)  {
       try {
          prs.close();
          prs = null;

      } catch (Exception e) {
          e.printStackTrace(System.out);
          prs = null;
      }
   }
   public int getActiveSize() {
      return hdb.getActiveSize();
   }  

   public int getCacheSize() {
       return hdb.getCacheSize();
   }

   private static OracleConnectionCacheImpl hdb;

}

 

서블릿/JSP Q&A란에 김창헌 [freehun@mercuros.com ] 님께서 올려주신 내용이었습니다.

[Top]
No.
제목
작성자
작성일
조회
14706Database Architecture
정재익
2003-06-19
12274
14705데이터베이스 StartUp
정재익
2003-06-19
9244
13367[강좌] Oracle 9i Realse2 RAC for linux 구성
문태준
2003-01-29
12611
12483Oracle connection pool
정재익
2002-11-05
15503
12480ORACLE DB AUTO STARTUP/SHUTDOWN ON RedHat Linux 8.0 [4]
정재익
2002-11-05
8037
12479JDBC와 ORACLE연동하기
정재익
2002-11-05
13724
12420cold backup 후 oracle install 후 db 생성방법
정재익
2002-10-30
8396
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다