Groovy SQL heeft geen controle over de time-out, dat is aan uw stuurprogramma (in uw geval Oracle). Als je een time-out voor een zoekopdracht wilt instellen, bekijk dan dit antwoord .
Als u een verbindingsniveau-instelling wilt (zodat u het Sql-object opnieuw kunt gebruiken voor meerdere query's met de time-out die op elke query wordt toegepast), moet u uw eigen verbinding instellen en deze doorgeven aan Groovy's Sql-gevel. Vind ik leuk
def dev_env = [
url:"jdbc:oracle:thin:@//aguat:1521/orcl",
user:"ricky",
password:"ricky",
driver:"oracle.jdbc.OracleDriver"
]
Class.forName(dev_env['driver'])
def conn = DriverManager.getConnection(dev_env['url'], dev_env['user'],dev_env['password'])
conn.setNetworkTimeout(null, 10000)
def sql = new Sql(conn)
Let op de setNetworkTimeout()
methode is toegevoegd in Java 7. Als je een oudere versie van Java gebruikt, bekijk dan deze antwoord
(u kunt "oracle.jdbc.OracleDriver"
gebruiken in plaats van de OracleConnection.CONNECTION_PROPERTY_THIN_NET_CONNECT_TIMEOUT
veld dat in het antwoord vermeldt of u een compileerafhankelijkheid van Oracle-jars wilt vermijden).
Nogmaals, omdat Groovy's Sql geen van de verbindingsinstellingen wijzigt of beheert, is de standaard time-out wat de standaard is voor Oracle's Driver.