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패키지에 넣는거야