Groovy SQL nie kontroluje limitu czasu, to zależy od Twojego sterownika (w twoim przypadku Oracle). Jeśli chcesz ustawić limit czasu dla zapytania, spójrz na tę odpowiedź .
Jeśli potrzebujesz ustawienia poziomu połączenia (aby móc ponownie użyć obiektu Sql dla wielu zapytań z zastosowanym limitem czasu do każdego), musisz skonfigurować własne połączenie i przekazać je do fasady Sql Groovy'ego. Polub to
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)
Zwróć uwagę na setNetworkTimeout()
metoda została dodana w Javie 7. Jeśli używasz starszej wersji Javy, spójrz na ten odpowiedź
(możesz użyć "oracle.jdbc.OracleDriver"
zamiast OracleConnection.CONNECTION_PROPERTY_THIN_NET_CONNECT_TIMEOUT
pole, w którym odpowiedź wskazuje, czy chcesz uniknąć zależności kompilacji od słoików Oracle).
Ponownie, ponieważ Sql Groovy'ego nie zmienia ani nie kontroluje żadnych ustawień połączenia, domyślny limit czasu będzie taki, jak domyślny dla sterownika Oracle.