c3p0或dbcp或BoneCP可以处理断开的连接。

| 我正在阅读有关处理jdbc连接的c3p0和dbcp的信息,听到很多问题,有人说dbcp已死,但c3p0无法执行jdbc4,依此类推。但是我不知道这些帖子是否过时。 现在,我点击了BoneCP,它解释了此处如何处理断开的连接。连接被包装,BoneCP在将异常传递给应用程序之前对其进行了一些预检查。如果连接出现问题,则BoneCP会将其从池中删除。 1.)所有这些池都有这种连接处理吗? 2.)这个问题一遍又一遍地被问到,但从2011年起我找不到任何答案。对于新的应用程序,我将使用什么?如果没有更多的话,该应用程序将在未来10年内保持不变。     
已邀请:
        1.)我不了解dbcp,但是关于C3P0,此功能确实存在于C3P0PooledConnection类中(在invoke方法中查找,捕获并处理了异常,如果您想了解有关我可以添加的确切处理的更多详细信息,他们)。我还需要知道是否包含它以删除testOnCheckin / Checkout,并且我验证了它是否包含此行为。 2.)真的很难说,因为一方面C3P0已在许多生产站点中广泛使用,并且维护者已恢复积极开发,但另一方面BoneCP似乎具有一些非常有趣的设计原理(例如池分片)和一些奉承的基准。由于您通常从连接池库中获得一个相当不错的间接寻址(大多数依赖关系包含在一个或两个配置文件中),因此我建议您从一个开始,一旦产生具有实际数据的产品,就尝试对其进行优化并与之进行比较另一个库(当然也进行了优化)。很可能您选择的任何一个库都足以满足您的需求。     

要回复问题请先登录注册