c3p0:检测db down / up事件

时间:2015-11-04 07:47:02

标签: java mysql c3p0

重新发明几次实现我自己的数据库连接池之后,我终于决定试试c3p0了。一旦您阅读完文档,它似乎很容易使用和配置。

我在文档中找不到的一件事是如何通过侦听器或其他机制检测db何时使用c3p0关闭或关闭。在我们的应用程序中,我需要告诉客户端db已关闭,因此它无法发送需要在db中记录的某些订单。我想知道是否有一种使用c3p0检测这些更改的标准方法,或者我必须自己实现一个外部线程,通过执行一个简单的select语句定期查询db。

我觉得这个功能在连接池中是必须的,必须有一种方法可以使用c3p0,但我找不到它。如果这不存在,我想再次重新发明轮子。

1 个答案:

答案 0 :(得分:2)

在对它们执行某些操作之前,连接池无法知道DB的状态甚至连接。至少有一些连接池可以配置为在一定时间后重新创建连接,因此池将在那时注意到有问题。还有其他机制,例如在发出连接之前将执行的测试查询,以验证连接是否有效。

如果您想跟踪状态,除了自己轮询数据库之外别无选择。