Wenn Sie die Abfrage im Kontext einer Transaktion ausführen, ist der Transaktionszeitlimitwert des JTA-Transaktionsmonitors die Determinante für das Abfragezeitlimit. Die Konfiguration hierfür ist von Anwendungsserver zu Anwendungsserver unterschiedlich.
Auf einer einzelnen Abfrageebene (in Ermangelung eines JTA-Transaktionsmonitors) wird der setQueryTimeout -Methode kann verwendet werden, um die Zeitüberschreitung für die Ausführung eines Statement/PreparedStatement/CallableStatement-Objekts festzulegen.
Aktualisieren
Auf setQueryTimeout ist kein Verlass, obwohl es funktioniert (zumindest von einem J2SE-Client). Es funktioniert über den JDBC-Treiber, der einen vollständigen Roundtrip zum Oracle-Datenbankserver durchführt. Dann liegt es an der Datenbank, die Ausführung der Abfrage anzuhalten. Verlassen Sie sich bei zeitkritischen Anwendungen nicht darauf.