2017-04-11 1 views
0

스프링 부트 애플리케이션 (버전 1.5.1.RELEASE)이 있고 데이터베이스를 관리하기 위해 종속성으로 spring-boot-starter-data-jpa을 사용하고 있습니다. 내가 데이터베이스로 postgres를 사용하고 아래의 속성을 사용하여 구성했습니다.spring boot datasource tomcat jdbc 속성이 작동하지 않습니다.

spring.datasource.url=${POSTGRES_URL} 
spring.datasource.username=${POSTGRES_USER} 

는 지금은 테스트 케이스 자체를 시작하는 동안 거의 120, 나는 아부 (10) 테스트 케이스에 대한 너무 많은 클라이언트가 이미 열려 오류가 있습니다 내 테스트를 실행할 때 그것은. 실패 (나머지 100 테스트 케이스로 성공 통과 그들은 데이터베이스에 연결할 수 있습니다)

내가 한 첫 번째 일은 postgres 서버 설정 파일에서 최대 연결 수를 100에서 200으로 늘렸고 내 테스트는이 변경 후에 성공적으로 통과합니다.

는 지금은 약간의 조사와 같은 연결 풀링 속성에 대한 매개 변수를 설정하려 :
spring.datasource.tomcat.max-active=200 
spring.datasource.tomcat.test-on-borrow=true 
spring.datasource.tomcat.max-wait=10000 

그러나 이러한 속성이 작동하지 않고 테스트가 다시 위와 같은 오류가 제공되지 않습니다. 연결 풀 속성을 설정하기 위해 여러 다른 블로그 및 스프링 문서를 읽으려고했지만 나에게 잘못 될 수있는 것을 찾지 못했습니다.

또한 위의 속성을 spring.datasource.tomcat.max-active으로 100 연결로 설정하면 현재 시나리오에서 각 테스트 케이스에 대해 데이터베이스에 대한 새 연결을 열려고 시도하는 것과 같이 tomcat jdbc 풀링의 도움을 받아야한다고 생각합니다. 프로덕션 환경에이 코드를 배포 할 때 이와 동일한 시나리오가 발생할 수 있고 각 요청에 대해 데이터베이스에 대한 새 연결이 열릴 것이라는 두려움이 있습니다.

이전에이 문제에 직면 한 사람이 있었는지 또는 내가 잘못하고있는 사람이 있습니까?

도움을 미리 감사드립니다.

+0

를 참조하십시오되다? db를 사용하는 다른 응용 프로그램이 있습니까? DB 관점에서 확인하는 것이 더 좋음/db의 연결 수, 응용 프로그램의 연결 누수를 모니터링합니다. 올바르지 않은 application.properties의 결론으로 ​​넘어 가기 전에 –

+0

세션이 올바르게 닫혀 있는지 확인하십시오. – rajadilipkolli

+0

@vivek는 최대 절전 모드를 사용하고 있습니다. orm –

답변

0

스프링 부트 버전 업그레이드를 시도하십시오. 1.5.10-RELEASE이 최신 버전입니다.

또한 속성 접두어 tomcat이 포함되어있을 때 응용 프로그램의 연결 풀 속성이 적용되지 않는 것을 발견했습니다. 그래도 문제가 해결되지 않으면 제거하십시오.

spring.datasource.tomcat.max-active=200

spring.datasource.max-active=200

가 최대 연결이 데이터베이스에 구성된 무슨 https://artofcode.wordpress.com/2017/10/19/spring-boot-configuration-for-tomcats-pooling-data-source

관련 문제