2016-11-03 3 views
4

그래서 스프링 부트 1.4.0과 Oracle 데이터베이스를 사용하는 응용 프로그램이 있습니다. ,데이터베이스 연결의 초기 풀 크기 설정 (스프링 부트)

spring.datasource.driverClassName = oracle.jdbc.OracleDriver 
spring.datasource.url = url 
spring.datasource.username = username 
spring.datasource.password = password 
spring.datasource.maxActive= x 
spring.datasource.initialSize= y 
spring.datasource.testWhileIdle = true 
spring.datasource.validationQuery = SELECT 1 from dual 

그리고 난 데이터베이스 연결을 확인하기 위해 쿼리

select *from V$SESSION where username= 'username'; 

을 사용하고 있습니다 : 나는이 CONFIGS를 사용하여 application.properties에서 풀의 연결 수를 정의하기 위해 노력하고있어 하지만 응용 프로그램을 실행할 때 initialSize로 정의한 내용에도 불구하고 항상 10 개의 연결을 사용합니다. 나는 GitHub에 대한 다른 stackoverflow 답변과 예제를 확인하려고했는데 왜 작동하지 않는지 모르겠다. 그래서 누군가 나를 도울 수 있다면 감사하겠다. 감사!

답변

4

봄 부팅 1.4 does not bind the DataSource in the spring.datasource namespace anymore. 지원되는 각 연결 풀 구현에는 해당 키에 대한 전용 네임 스페이스가 있습니다. 당신은 아마도 오래된 샘플을보고있을 것입니다.

먼저 사용중인 연결 풀을 식별해야합니다 (초보자에게 의존하고 있다면 아마도 Tomcat JDBC 풀을 가져야합니다 (spring.datasource.tomcat 참조). IDE를 사용하여 사용할 수있는 키 목록을 얻으십시오.

+0

고마워요! 매력처럼 일했습니다. 기본적으로 spring-boot는 Tomcat을 사용하고 "spring.datasource.tomcat.initial-size = x"를 추가하면 문제가 해결됩니다. –

+0

기본값은 10입니다. 이것은 나에게 상당히 무작위로 보입니다. 대신 7 또는 12 일 수 있었고, 누군가 5을 사용하려고 했습니까? 나는 데이터베이스가 집중적으로 사용되지 않는다면 이것은 거의 영향을 미치지 않을 것이라고 생각한다. –

+0

@ChristopheRoussy : 연결 풀 크기를 조정하는 것은 분명히 과학입니다. 여기 주제에 대한 흥미로운 기사가 ​​있습니다 : https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing – Henrik