我有一个 Groovlet (Groovy Servlet),它在各个方面都运行良好,除非是时候破坏上下文并部署更新。当我删除 war 文件时,会在我的实现上调用 ServletContextListener.destroy,这反过来又会尝试关闭所有打开的数据库连接。这似乎陷入困境。
我通常在此应用程序中对我的大多数查询使用 sql.firstRow,并且似乎没有任何方法可以关闭底层 PreparedStatement 和 ResultSet(除了方法关闭)。我没有缓存结果,而是使用 BeanUtils.populate 将值复制到目标 bean 中进行处理。
在最后关闭之前,我应该在每个 firstRow 或 eachRow 之后调用其他方法吗?
我在 Java 6 和 Groovy 2.1.1 下运行 Tomcat 6。