관리 메뉴

HeBhy, since 1983.

Weblogic 10.3 & Mysql 에서 JDBC Connection Pool 본문

Dev/Web

Weblogic 10.3 & Mysql 에서 JDBC Connection Pool

HeBhy 2009. 5. 31. 17:09
이전 문서들을 참고하면, Weblogic 에서 JDBC connection Pool 사용 시, connection pool 과 JDBC를 따로 설정하는 듯 했으나.. 10.3에서는 따로 connection pool 을 설정 할 필요 없이 바로 콘솔의 "Services-JDBC-Data sources" 에서 한 번만 추가하면 된다.

다만, 드라이버를 수정 해 주어야 한다. 드라이버는 mysql 공식 사이트에서 다운로드 받으면 된다. Url은 유니코드활성화와 utf8 환경을 사용한다.(mysql 환경이 utf8 이므로)

[URL]
jdbc:mysql://localhost:3306/abc?useUnicode=true&characterEncoding=utf8

[Driver Class Name]
com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource


Name은 아무거나(초기값 그냥 써도 됨) 하고, JNDI-Name 은 "jdbc/abc" 정도로 하면 된다. 마지막에 target 지정하는 것을 잊지 말자. 체크를 꼭 하고 나서 finish 를 누른다. 그 전에 test 도 가능하니 test 버튼을 눌러서 이상이 없는지 확인하자. 혹시 driver을 찾지 못한다면, 윈도우 환경변수에 "CLASSPATH" 를 "." 으로 추가하면 된다. 잘 되지 않으면 인터넷에 검색하면 클래스패스 설정하는 법이 잘 나와있으니 참고. 물론 드라이버 파일은 mysql에서 다운로드받지 않아도 기본적으로 weblogic에 포함되어 있으므로 별다른 설정 없이도 성공 할 것이다.

- PS : 혹시 웹로직 웹콘솔에서 JDBC 풀 추가시 실패메시지가 뜨는경우, lib 파일들을 옮겨준다. (ex : "웹HOME/WEB_INF/lib" -> "오라클/user_projects/domains/도메인명/lib" 로 이동하면 외부 jar파일들을 인식한다.)

- 위 부분은 나중에 캡쳐를 올리겠음.


아래는 weblogic + mysql 에서 커넥션 풀 사용시에 connection 을 얻는 방법이다. EJB라 그런가.. 다른 WAS와 약간 다르다. 물론 아래의 jndi-name 부분은 바꿔줘야 한다. 위를 예로 들면 "jdbc/abc" 정도로 쓰면 된다.

    Connection conn = null;

    try{
      Context envContext = (Context) new InitialContext();
      // 아래는 예전(WAS-resin) 등에서 쓰던 방법. JNDI 네임에 더 추가된다
      //DataSource dsPool = (DataSource)envContext.lookup("java:comp/env/jndi-name);
      // Weblogic 에서 사용 시. jndi-name만 입력하면 된다! (글로벌 변수)
      DataSource dsPool = (DataSource)envContext.lookup("jndi-name");
      conn = dsPool.getConnection();

    }catch(Exception ex){}

Comments