2012-10-15 187 views

回答

3

您是否正确地配置了您在数据服务描述符文件中使用的数据源,以便将“validationQuery”参数启用为“SELECT 1”(验证查询可以根据使用的RDBMS类型而有所不同,但对于SQL服务器,您可以使用上述查询)和“testOnBorrow”参数设置为“true”?

为了给你一点关于这个问题的上下文,默认情况下,任何RDBMS类型都定义了连接超时值。例如,默认情况下,MySQL的默认超时时间为8小时。在应用程序中使用连接池时,一旦创建了连接,连接就会一直保存在池中,而无需物理关闭以重用它们。但是,在上述一段时间后,连接会变得陈旧,您必须在使用它们之前验证连接。这是通过指定一个验证查询来完成的,该查询将在池池连接重用时执行。并且“testOnBorrow”参数很方便,因为在指定时,它将在从连接池中借用池时验证池中的连接。

欢呼声, Prabath