Connection Pool 구현
▶ 라이브러리에 DB 드라이버의 jar 파일을 추가한다.
- mariadb : org.mariadb.jdbc.Driver
- mysql : org.git.mm.mysql.Driver
▶ context.xml 파일의 Resource를 설정한다.
- Resource를 등록하여 웹에서 JNDI로 호출할 이름과 정보를 설정한다.
1. name : JNDI로 호출될 이름을 설정
2. auth : DBCP를 관리할 관리자 (Container or Application)
3. type : 해당 resource의 return type
4. factory : dbcp를 유용하는 관리 클래스
5. driverClassName : JDBC를 이용하기 위한 드라이버 클래스
6. url : DB의 접속 URL
7. username : DB의 계정 명
8. password : 계정에 대한 비밀번호
9. maxActive : 최대 접속 허용 개수
10. maxIdle : DB Pool에 여분으로 남겨질 최대 Connection 개수
11. maxWait : DB 연결이 반환되는 Timeout의 최대 시간 (-1은 무한 대기)
12. removeAbandoned : Connection이 잘못 관리되어 버려진 연결을 찾아 재활용할 것인지의 여부 설정
13. removeAbandonedTimeout : 버려진 연결로 인식할 기본 시간 설정
(초 단위로 해당 시간이 지나면 버려진 연결로 인식한다.)
▶ 데이터베이스에 Connection 하는 작업을 해주는 클래스와 클래스메소드를 만든다.
즉, 설정한 Context Resource의 Database와 연결(연동)하여 Connection 객체를 리턴해준다.
▶ 데이터베이스 쿼리문을 작성하여 호출해보자.
위의 메소드는 서블릿으로 만든 컨트롤러의 doGet 메소드이다. 데이터베이스에 연결해서 쿼리문을 사용해 보았다.
Connection과 DB 연결작업을 한줄로 가능하게 되었다.
'JAVA' 카테고리의 다른 글
객체지향 설계의 5대 원칙 (0) | 2020.07.01 |
---|---|
[실습] 서블릿+컨넥션+트렌젝션+mvc (0) | 2020.05.22 |
컨넥션 풀 (0) | 2020.05.14 |
JVM (JAVA VIRTUAL MACHAIN) (0) | 2020.05.14 |
Generic(제네릭) (0) | 2020.05.13 |