2012-08-13 3 views
1

최대 절전 모드를 사용하여 MSSQL 2005 데이터베이스에 연결하는 Java 웹 응용 프로그램이 있습니다.실패한 DB 연결의 정지 시간을 줄이는 방법

내 응용 프로그램에서 DB에 연결하는 것이 중요하지 않기 때문에 데이터베이스를 사용할 수 없을 때 응용 프로그램이 어떻게 작동하는지 테스트하고 싶었습니다.

SQL 서비스를 중지하고 데이터베이스에서 쿼리를 실행하는 웹 응용 프로그램의 일부를 실행하면 응용 프로그램이 약 30 초 동안 정지 한 다음 정상적으로 계속 작동합니다.

으로는 로그의 오류도 예상 :

2012-08-13 16:33:04,974 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: 08S01 
2012-08-13 16:33:04,974 ERROR [JDBCExceptionReporter] The TCP/IP connection to the host bonnie.uk, port 1433 has failed. Error: "Connection refused. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.". 

사람이 내가 응용 프로그램의 행 타임을 줄일 수있는 방법을 알고 있나요?

감사합니다 당신이 웹 애플리케이션 있다고 언급 한 바와 같이

+2

드라이버가'ConnectionTimeout' 속성과 비슷한 것을 지원해야합니다. 나는 JDBC 나 다른 프레임 워크가 구성하는 것에 지나치게 익숙하지 않지만 [일반적으로 지원되는 것처럼 보입니다] (http://publib.boulder.ibm.com/infocenter/soliddb/v6r3/index.jsp ? topic =/com.ibm.swg.im.soliddb.programmer.doc/doc/s0005099.connection.timeout.in.jdbc.html). 그건 그렇고 "JDBC 연결 시간 초과"에 대한 두 번째 Google 히트. –

+0

이것이 연결 시간 제한과 다를 것이라고 생각했습니다. – shawsy

답변

1

, 난 당신이 바로, 컨테이너 (톰캣, 제이 보스 AS, ...)에서 제공하는 데이터 소스를 사용하는 가정? 권리?? :-)

그런 경우라면 컨테이너에 확실히 구성 할 수있는 방법이 있습니다. JBoss AS의 경우 이것은 "blocking-timeout-millis"입니다.

+0

답변 해 주셔서 감사합니다. 예 Geronimo 어플리케이션 서버를 사용하고 있습니다. 이것은 blocking-timeout이라고하는 비슷한 propoerty를 가지며, 기본값은 5 초입니다. 이 doesnt는 어떤 효과라도있는 것처럼 보인다고해도 틀림없이. 나는 0.5 초로 줄이려고 노력했다. – shawsy

관련 문제