Małgorzata B. ***
Temat: Timeout przy wykonywaniu zapytania na bazie Oracle z...
Witam,Z poziomu Javy za pomocą JDBC łącze się do bazy Oracle 10g, wykonuję zapytanie i mierzę czas jego wykonania:
long startTime = System.nanoTime();
rs = stmt.executeQuery("select * from tabela1");
long resultTime = (System.nanoTime() - startTime)/1000000;
Zdarza się, że zapytanie trwa dość długo. W takim przypadku chcę ograniczyć czas wykonywania zapytania maksymalnie do np. 600000 [ms] - jeśli zostanie on przekroczony przerwać działanie wątku.
Próbowałam zrealizować to za pomocą innego wątku dla którego wywołuję sleep([max_time]). Nie wiem czy to dobra droga - wątek, który wykonuje zapytanie musi być niezależny od wątku, który przerywa jego działanie (timeout) po przekroczeniu maksymalnego czasu (tak mi się wydaje).
Proszę o sugestie/wskazówki jak rozwiązać problem z timeout'em.
Pozdrawiam,
Małgorzata B.Małgorzata Bąba edytował(a) ten post dnia 24.05.10 o godzinie 23:16