반응형
Oracle JDBC Driver Query Timeout 동작방식
- Connection.createStatement() 메서드를 호출하여 Statement를 생성한다.
- Statement.executeQuery() 메서드를 호출한다.
- Statement는 자신의 Connection을 사용하여 Oracle DBMS로 쿼리를 전송한다.
- Statement는 타임아웃 처리를 위해 OracleTimeoutPollingThread(classloader 별로 1개 존재)에 Statement를 등록한다.
- 타임아웃을 발생한다.
- OracleTimeoutPollingThread는 OracleStatement.cancel() 메서드를 호출한다.
- Connection을 통해 취소(Cancel) 메시지를 전송하여 수행중인 쿼리를 취소한다.
반응형