Groovy SQL styr inte timeouten, det är upp till din drivrutin (Oracle i ditt fall). Om du vill ställa in en timeout för en fråga, ta en titt på det här svaret .
Om du vill ha en anslutningsnivåinställning (så att du kan återanvända SQL-objektet för flera frågor med timeout tillämpad på varje), måste du ställa in din egen anslutning och skicka den till Groovys SQL-fasad. Så här
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)
Notera setNetworkTimeout()
metod lades till i Java 7. Om du använder en äldre version av Java, ta en titt på denna svar
(du kan använda "oracle.jdbc.OracleDriver"
istället för OracleConnection.CONNECTION_PROPERTY_THIN_NET_CONNECT_TIMEOUT
fältet som svaret nämner om du vill undvika ett kompileringsberoende på Oracle-jars).
Återigen, eftersom Groovy's Sql inte ändrar eller kontrollerar någon av anslutningsinställningarna, kommer standard timeout att vara vad som än är standard för Oracles drivrutin.