2011-03-22 3 views
13

DB 연결 풀링을 처리하는 Tomcat에 웹 응용 프로그램이 있고 쿼리를 실행하는 데 Spring JDBCTemplate을 사용합니다. 하트 비트 프로세스에 의해 모니터되는 상태 페이지를 구현하여 모든 것이 서버에 양호한 지 여부를 판별하도록 요청되었습니다.단일 쿼리에 JDBC 시간 초과를 설정할 수 있습니까?

이 중 일부는 데이터베이스에 대한 연결이 정상인지 확인하기 위해 DB 쿼리를 수행하려고합니다. 이상적으로는 'select from from'일 뿐이므로 DB가 그 시간에 응답하지 않으면 실패를 표시하기 위해 10 초 내에 빨리 되돌아오고 싶습니다.

그러나 정상적인 요청에 대해서는 시간 제한을 위해 연결을 변경하고 싶지 않습니다.

원시 JDBC 또는 Spring JDBC 래퍼 중 하나를 사용하여 쿼리 당 타임 아웃을 설정하는 방법이 있습니까?

+0

scneario 그런 종류의 데이터베이스 혼잡을 나타냅니다 1 또는 2 초로 설정하는 것이 좋습니다. – cherouvim

답변

9

트랜잭션을 관리하는 데 스프링을 사용하는 경우 트랜잭션 수준에서도 시간 제한을 지정할 수 있습니다. @ 트랜잭션 (시간 초과 = 10)

+0

고마워, 나는 그것을 시도 할 것이다. –

22

Statement (또는 PreparedStatement) 객체에서 setQueryTimeout을 사용하십시오.