2012-08-03 10 views
6

작업하고있는 프로젝트의 연결 시간 제한 문제를 해결하고 있습니다. 우리는 c3p0를 사용하여 연결 풀을 관리하고 orm 도구로 최대 절전 모드로 전환합니다. 우리는 또한 봄을 사용합니다.'debugUnreturnedConnectionStackTraces'를 사용하여 디버깅 연결이 끊어졌습니다.

반환되지 않은 연결이 있는지 찾기 위해 c3p0 구성 (c3p0 속성이 아님)에서 debugUnreturnedConnectionStackTraces를 true로 설정했습니다.

내가해야 할 일이 더 있습니까? 내 lod4j.properties에 아무것도 추가해야합니까, 아니면 debugUnreturnedConnectionStackTraces를 true로 설정하기에 충분합니까?

또한 c3p0 속성에서 debugUnreturnedConnectionStackTraces를 true로 설정해야합니까? 나는 일반적으로 내있는 hibernate.cfg.xml에 다음 두 줄을 모두 추가 도움을 개인적으로

답변

3

에 대한

덕분에

<property name="hibernate.c3p0.unreturnedConnectionTimeout">60</property> 
<property name="hibernate.c3p0.debugUnreturnedConnectionStackTraces">true</property> 

나는 시간 제한의 기본 값이 0 믿고 난 그게 어떻게 작동해야할지 모르겠다.

unreturnedConnectionTimeout 긍정적이고 debugUnreturnedConnectionStackTraces이 로거 "com.mchange.v2하여 INFO 수준에서 기록됩니다 미 반환 예외를 생성 true로 스택 트레이스로 설정되어있는 경우 : 코리의 대답에 약간의 확장

+0

감사합니다. 그러나 'debugUnreturnedConnectionStackTraces'를 true로 설정하거나 Log4j.properties에도 anychanges를 설정해야합니다. 'debugUnreturnedConnectionStackTraces'는 스택 추적을 어디에 기록 할 것인가? 응용 프로그램 서버의 로그에 로그인합니까? – Npa

+0

log4j를 사용하지는 않지만 로그 수준을 디버깅해야 할 필요가 있습니다. 그리고 네, 그것은 응용 프로그램 서버 로그에서 끝나야합니다. –

10

. resourcepool.BasicResourcePool "로 변경하십시오.

사람들은 흔히 모든 로거의 정보 수준 위에 아무것도 기록하지 않으므로 이러한 스택 추적은 로그에 표시됩니다. 그러나 표시되지 않으면 로깅 구성을 확인하여 해당 로거의 INFO 메시지가 필터링되지 않았는지 확인하십시오.

unreturnedConnectionTimeout도 설정되어 있지 않으면 debugUnreturnedConnectionStackTraces는 아무 것도하지 않습니다.

내가이 도움이 되었으면 좋겠 http://www.mchange.com/projects/c3p0/#unreturnedConnectionTimeout

http://www.mchange.com/projects/c3p0/#debugUnreturnedConnectionStackTraces

하세요!

p.s. 이러한 속성을 올바르게 설정하는 한 설정하는 방법은 중요하지 않습니다. c3p0은 풀 초기화시 INFO에 풀 구성을 덤프합니다. 로그를 점검하여 매개 변수를 설정하려고하지만 예상 한 구성이 있는지 확인하십시오. JMX를 사용하여 매개 변수를 검사 할 수도 있습니다.

관련 문제