数据库会自动清除掉超时的空闲连接造成中间件连接池中连接断开的问题

所有的数据库都会自动清除掉超时的空闲连接,因为数据库本身是一个SOCKET服务器,它必须要定时清除掉僵死连接,来保持其长时间稳定运行。

数据库清除空闲连接以后,中间件连接池里面con.connected还是等于true,也就是说在中间件里面是无法判断连接池中的连接是否已经被数据库给清除了。

事实上中间件连接池中的所有连接必须保持24小时的连接是通的。那么如何解决这个矛盾呢?

答案是在连接池中设置定时器,定时检查池中的每一个连接,当池中的空闲连接已经超过了半小时,就自动将此连接断开并重连。

 

posted @ 2016-08-03 09:14  delphi中间件  阅读(3133)  评论(2编辑  收藏  举报