관리 메뉴

nkdk의 세상

JDBC(Java DataBase Connectivity)와 JTA(Java Transaction APIs) 본문

My Programing/EJB

JDBC(Java DataBase Connectivity)와 JTA(Java Transaction APIs)

nkdk 2008. 5. 20. 19:31
JDBC(Java DataBase Connectivity)와 JTA(Java Transaction APIs) 설정
- 분산트랜잭션과 대용량 서버에 적합
 

커넥션 풀 설정
 
- 각각의 데이터베이스에 알맞은 JDBC 드라이버를 지정해야 하는데 분산 트랜잭션을 사용할 경우에는
  반드시 XA를 지원하는 드라이버를 사용해야 한다.
 
- 사용자가 트랜잭션 제어를 할 경우에는 UserTransaction 객체를 이용하며, 이때 UserTransaction객체의
  begin() 메소드로 트랜잭션을 시작하고, commit()이나 rollback() 메서드로 트랜잭션을 종료한다.
 
- 커넥션 풀로부터 획득한 커넥션을 다 사용했을 경우 반드시 try-catch-finally 구문의 finally 블럭에서
  close() 메서드를 호출해야 한다.
 
 
커넥션 풀 설정 순서
 
① 웹로직 콘솔 실행 후 관리자 아이디로 로그인
② mydomain -> Services -> JDBC -> Connection Pools 항목 클릭
③ 오른쪽 메뉴에서 Configure a New JDBC Connection Pool(새 JDBC 연결 풀 구성) 링크 클릭
④ 자신이 사용할 데이터베이스 형식과 드라이버 선택
   > 오라클 사용시 : 데이터베이스 형식=> 오라클 / 드라이버=> Oracle's Driver(Thin) Versions:9.0.1...선택
 
   * 오라클 드라이버 종류

      - BEA's Oracle Driver(Type4 XA)
           > 두개의 데이터베이스 혹은 하나 이상의 테이블에 대한 분산 트랜잭션에 관련된 업무에 적당

      - BEA's Oracle Driver(Type4)
           > 단일 데이터베이스, 단일 table에 대한 트랜잭션 처리에 적당
 
      -  Oracle's Driver(Thin XA)
           > 오라클사 자체에서 제공하는 분산트랜잭션 드라이버

       - WebLogic's Oracle Driver(Type2 XA)
           > 분산 트랜잭션 제공, 메세지 드리븐빈용
 
    * type4 : 직접 드라이버로 접속하므로 속도가 빠르다. 세션빈, 엔티티빈용으로 사용
    * 빈별로 드라이버가 다르다
 
⑤ 커넥션 풀에 대한 설정

 - Name : MyOraclePool
 - DataSource :ora9
 - HOST Name : 127.0.0.1
 -  Database User Name : scott
 - Password : tiger
 - Confirm Password : tiger
 
   * 커넥션 풀 설정관련 속성 및 값
    속성                             값                                            설명        
 ---------------------------------------------------------------------------------------------------------------------
   Name                           OracleConnectionPool             공백없이 해당 커넥션 풀명 지정  
   DataBase Name           ora9                                        오라클 데이터베이스의 경우 SID 명 지정
   HOST Name                  데이터베이스의 IP나 도메인명      오라클 데이터베이스의 리스너에 접근할 수
                                                                                       있는 IP나 도메인명 지정  
   Database User Name   DB 사용자                                 데이터베이스 접근에 미리 허용된 사용자 지정  
   Password                     DB 사용자 암호                          데이터베이스 사용자 암호 지정    
   Confirm Password        DB 사용자 암호 확인                   데이터베이스 사용자 암호 확인    
 ---------------------------------------------------------------------------------------------------------------------

 
⑥ Continue 버튼 클릭 ->설정된 정보가 출력되면 Test Driver Configuration
    (드라이버 구성 테스트) 버튼 클릭

⑦ 커넥션 풀 설정대로 데이터베이스에 커넥션이 성공했다는 메시지 확인 후
    Create and deploy(만들기 및 배포) 버튼 클릭
 

데이터 소스 설정
 
- 커넥션 풀에 대한 설정이 끝났다면 데이터 소스에 대한 설정을 해야 한다.
- 데이터 소스는 데이터베이스 커넥션을 얻어오는 방법을 간단히 하기 위해 사용된다.
- JDBC 2.0 스펙에서 도입되었으며, 커넥션 객체를 위한 팩토리(factory)로 사용된다.
- 웹 로직 서버에서 데이터베이스를 이용한 프로그래밍을 하려면 커넥션 풀과 데이터 소스를
   JNDI(Java Naming and Directory Interface) 네이밍 서비스 등록후 사용해야 한다.
 
데이터 소스 설정 순서
 
① 좌측 메뉴의 mydomain -> services -> jdbc -> Data Sources 항목 클릭 후 오른쪽의
    Configuration a new JDBC Data Source(새 JDBC 데이터 소스 구성) 항목 클릭
② 데이터 소스명과 JNDI 저장소에 등록될 이름 지정
    > 이름 : MyOracleSource
    > JNDI 이름 : jdbc/ora9
 
③ 데이터 소스에서 이용할 커넥션 풀 선택 후 Continue(계속) 버튼 클릭
④ 데이터 소스가 사용될 서버를 선택한 후 Create(계속) 버튼 클릭