실행 두 개의 스레드가 있습니다, 하나는이 같은 JDBC를 통해 연결하고 무거운 쿼리를 실행하는 스레드 :실행 중 무거운 SQL의 취소 실행을 치료하는 방법은 무엇입니까?
Statement stmtData = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rsData = stmtData.executeQuery("SELECT * from hugeTable");
를 두 번째는 첫 번째 언급 스레드를 시작 하나이며 물론이 취소 DBMS에 의한 질의 실행 중 사용자가 요청한 경우 오랜 시간이 걸릴 수도 있습니다.
첫 번째 스레드에서 Interrupted() 메서드를 호출하려고 시도했지만 첫 번째 스레드에서 InterruptedException이 발생하기를 바랬습니다.
쿼리 실행 취소 방법 ?
달성하려는 실제 사례를 알려주시겠습니까? usecase를 바탕으로 나는 당신의 시나리오에 맞는 솔루션을 제안 할 수 있습니다. – Subba
@Subba 제 실제 사용법은 PL-SQL Developer의 "Break"버튼과 같습니다. SQL은 백그라운드에서 실행되지만 사용자는 여전히 취소 할 수 있습니다. 문제는 stmtData.executeQuery() 메서드가 비동기 적이 아니므로 실행을 중단하는 방법을 모르겠다는 것입니다. 어떠한 제안? –
[실행중인 JDBC 트랜잭션을 어떻게 중단 할 수 있습니까?] (http://stackoverflow.com/questions/295920/how-can-i-abort-a-running-jdbc-transaction) –