DB 과부화 방지.
DataBass Connection Pool(DBCP)
- 미리 DB와 연결되어 있는 CONNECTION을 일정 개수 만들어 두고
클라이언트 요청 시 만들어 둔 Connection을 빌려주고
요청 처리 완료 시 다시 반환 받는 기법
- 장점 :
1) 미리 Connection을 만들어두기 때문에 요청 시 속도가 빠름
(전에는 그때 끄떄 만들어서 오래걸림)
2) Connection 개수에 제한을 두어 DB에 과도하게 요청되는 경우를 방지
Servers -> config파일 -> context.xml 에 넣을것.
필요에한걸 resource에 넣는다.
<!-- DBCP 세팅 -->
<Resource
name="jdbc/oracle"
auth="Container"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:xe"<-오라클주소.
username="db 유저이름"
password="db 유저패스워드"
maxTotal="50"
maxIdle="10"
maxWaitMillis="-1"
/>
<!-- 설명
name : JNDI 이름 Context의 lookup()을 사용하여 자원을 찾을때 사용한다. java:comp/env 디렉터리에서 찾을 수 있다.
auth : 자원 관리 주체 지정(Application 또는 Container)
type : Resource의 타입 지정
driverClassName : JDBC 드라이버 클래스 이름.
maxTotal : DataSource 에서 유지할 수 있는 최대 커넥션 수
maxIdle : 사용되지 않고 풀에 저장될 수 있는 최대 커넥션의 개수. 음수일 경우 제한이 없음
maxWaitMillis : 커넥션 반납을 기다리는 시간(-1은 반환될 때 까지 기다림)
-->
jdbcTemplate.java에 Connection getConnection()을 변경.
'괴발개발 > DB' 카테고리의 다른 글
| db보호를 위한 암호화 필터(로그인,회원가입, 비밀번호 변경, 회원탈퇴) (0) | 2024.07.02 |
|---|---|
| ORDER BY (0) | 2024.06.01 |
| NULL 연산자 (0) | 2024.06.01 |
| IN 연산자, 연결연산자(||) (0) | 2024.05.29 |
| SQL 연산자 우선순위 (0) | 2024.05.28 |