Groovy 使用Quartz作业中的sql.rows处理异常

Groovy 使用Quartz作业中的sql.rows处理异常,groovy,quartz-scheduler,Groovy,Quartz Scheduler,我正在使用groovy.sql.sql.rowssql,quartz作业中的参数来调用存储过程。有时存储的进程超时,但它不会将异常传播到调用代码。对于以下代码中的ex,异常永远不会进入try/catch块- try{ res = db.rows(sql, parameter) //db is of type groovy.sql.Sql } catch(Excepti

我正在使用groovy.sql.sql.rowssql,quartz作业中的参数来调用存储过程。有时存储的进程超时,但它不会将异常传播到调用代码。对于以下代码中的ex,异常永远不会进入try/catch块-

            try{
                    res = db.rows(sql, parameter) //db is of type groovy.sql.Sql
                } 
                catch(Exception e) {
                    log.error("error in calling the proc", e)
                }
我在日志中看到的唯一一件事是来自sql.sql的警告,如下所示-

[quartzScheduler_Worker-1] WARN  sql.Sql  - Failed to execute: { call stored_prod_name(?, ?, ?, ?) } because: JZ006: Caught IOException: java.net.SocketTimeoutException: Read timed out

在此之后,我的整个JVM都挂起了!我想从超时中恢复,但似乎无法捕获异常。我做错了什么?

问题已更新为问题