Spring Framework
커넥션 풀 설정
꾸주니12
2022. 7. 11. 17:42
<커넥션 풀 설정>
- 커넥션 풀
- 커넥션 풀에 대한 설정을 해줘야 할 때가 있다 - 커스텀마이징을 해야할 때 설정을 해줌
- 예를 들어 동시접속자가 500명이 넘을 때 기본적으로 커넥션풀에 커넥션이 500개는 있어야한다?
- 설정을 안한 디폴트에는 관련 설정이 없다
- 커넥션 풀 설정을 하지 않는다고 안돌아가는건 아니다
설정 방법
1, mybatis.xml에 property 추가
<property name="environment" value="classpath:config/pool-config.xml"/>
2.config 폴더밑에 pool-config.xml파일 만들기 (오른쪽 마우스 - other - xml파일)
내용 추가
<environments default="development">
<environment id="development">
<transactionManager type="jdbc"/>
<dataSource type="POOLED">
<property name="poolMaximumActiveConnections" value="10"/>
<property name="poolMaximumIdleConnections" value="10"/>
<property name="poolMaximumCheckoutTime" value="200000"/>
<property name="poolPingEnabled" value="true"/>
<property name="poolTimeToWait" value="15000"/>
</dataSource>
</environment>
</environments>
- default ="" : 여러 설정이 있을 경우, 이게 우선이다
- transactionManager [jdbc | manager] : 트랜잭션 처리 여부를 JDBC 또는 마이바티스에게 위임한다.
- datasource [POOLED | UNPOOLED] : POOL 사용 여부
- poolMaximumActiveConnections : 최대 몇개까지 커넥션을 활성화 시킬 것인가? // 높다고 좋은건아님 메모리 낭비
- poolMaximumIdleConnections : 놀고 있지만 살려둘 커넥션 수
- poolMaximumCheckoutTime : 커넥션 획득 대기 시간 (200초) ms 기준 / 제한된 시간에 커넥션을 받아들이지 못하면 튕김(?) 예) 수강신청 200초 지나면 그냥 짤라버림
- poolPingEnabled : 커넥션이 살아있는지 ping 테스트 여부 / 죽어있으면 풀에서 뺌
- poolTimeToWait : 사용된 커넥션(요청해서 쿼리문 날리고 돌아오는거? )을 기다리는 시간 15초동안 돌아오지않는다? 그럼 주금
++++
mapper.xml 같은 xml 파일은 resources 폴더밑에 넣기도 함
우리는 db관련있어서 dao패키지에 넣는거야