maximale Ausführungszeit eines SQL-Befehls überwachen

  • Hallo,

    ich hab folgendes Problem: Ich möchte eine (Insert/Update/Delete)-Query in Oracle (über Java) ausführen, die aber auf Grund eines Deadlocks/not-commits (oder ähnlichem) nicht ausgeführt werden kann. Jetzt bleibt mir die ganze Applikation hängen, weil sie darauf wartet, bis die Query ausgeführt wird.

    Meine Idee wäre, einen TimerThread zu schreiben, der vor dem Ausführen der Query gestartet wird und in regelmäßigen Abständen die seit dem Start der Execution verstrichene Zeit überprüft. Übersteigt die Zeit die angegebene maximale Wartezeit, so wird die Ausführung des SQL-Befehls abgebrochen und eine Exception geworfen.

    Das Problem das ich habe: Wie mache ich das? ;) Wäre sehr dankbar für Hilfe.

    EDIT: Hab die maximale Ausführungszeit jetzt über stmt.setQueryTimeout() gesetzt. Allerdings würde es mich noch immer interesieren, wie man das mit einem Thread machen könnte.

    *** Make it idiot proof, and someone will build a better idiot. ***

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!