假设你的数据库是mysql,如果数据源配置不正确,经典的8小时可能会发生问题。原因是,MySQL会自动关闭连接在数据库方面,如果发现默认情况下发现了8多个小时连接的空闲时间。数据源不知道连接关闭。当它返回到DAO的无用连接时,DAO将无法获得连接异常。

如果该数据库的默认配置,由于该testOnBorrow属性的默认值是true,数据源连接到达奥,会提前检测是否连接好,如果有问题(连接在年底,关闭它将数据库)一道,其他的连接。没有8小时的问题。如果每一个连接发送到达奥,连接的有效性检测。它将在高并发性应用中带来性能问题,因为它需要更多的数据库访问请求。

推荐的和有效的方法是设置testOnBorrow为false,并设置testwhileidle为true,然后设置testbetweenevictionrunsmillis值(小于8小时),这些连接是由MySQL闭不能清除避免8小时的问题。

当然,MySQL本身也可以调整交互超时(秒)的配置参数和改变空闲连接超时时间,设置timebetweenevictionrunsmmillis价值时,你必须先知道的mysql空闲连接的最大过期时间。

为检测有效连接c3p0,请参阅DBCP配置。

以上是本文的全部内容,希望大家能喜欢。