2014-01-30 6 views
0

Java의 삽입 ... 선택 절을 중단 할 수 있습니까? JDBC 또는 Hibernate를 사용하는 것은 중요하지 않습니다. DB는 Oracle입니다.삽입 중단 ... 선택 절

단일 DB 호출이 있고 프로세스가 JVM이 아닌 Oracle에서 실행 중이므로 불가능하다고 생각합니다.

+1

** ** 가능합니다! 'Statement' 클래스를보십시오. 쿼리 실행을 취소하는 방법은 다음과 같습니다. http://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#cancel() – bobbel

답변

1

Oracle OCI (C 드라이버)는 OCIBreak() 기능을 제공합니다. 그것은 심지어 thread-safe이며, 메인 쓰레드가 동일한 연결을 사용하고있는 동안 bg 쓰레드로부터 호출 할 수 있습니다.

어쩌면 Statement.cancel()이 동일한 작업을 수행합니다.

java.sql.SQLException: ORA-01013: user requested cancel of current operation

은 JBoss에 중요하지 않은 등이 예외를 표시 할 수 있어야한다 :이 OCIBreak()

라운드 DB 서버로의 여행 (즉, 네트워크가 작동해야합니다) 다음 주 스레드에서 오류가 수신을 필요로 레벨 (ExceptionSorter 사용).

추신 : 이것이 최대 절전 모드에서 호출 될 수 있다면 정말 궁금합니다. JPA는 DB 서버에서 장기간 실행되는 쿼리를 많이 사용하기 때문에