当前位置: 首页 > 知识库问答 >
问题:

如何利用C3P0池和JDBC检测数据库的错误endpoint

冯飞鹏
2023-03-14

复制连接主机时出现了一个愚蠢的错误,使我指向了一个不正确的endpoint...这阻止了初始化进程30分钟...

最后一个例外是:

  • 获取尝试失败!!!正在清除挂起的获取。尝试获取所需的新资源时,未能成功超过允许的最大获取尝试数(30)。

为了重现这个错误,我简单地用下面的连接字符串指向Google.es

初始化就会被卡住30分钟...

我希望它能更快地抛出异常,但我不确定应该触及哪些配置值:c3p0 AcquireretryAttempts?还是jdbc SocketTimeout?最重要的是,如果我改变了这个,它可能会破裂...

共有1个答案

欧阳正德
2023-03-14

默认设置大约需要30秒(而不是30分钟!)检测错误的数据库:在得出无法获取连接的结论之前,它使AcquireRetryAttempts=30具有AcquireRetryDelay=1000ms的延迟。如果希望更快地检测坏endpoint,请重新删除其中一个或两个变量。如果愿意,您可以将acquireRetryAttempts设置为1,在这种情况下,连接获取上的任何异常都将被解释为endpoint的问题。

请参阅http://www.mchange.com/projects/c3p0/#configuring_recovery

 类似资料:
  • 问题内容: 对于J2EE容器 之外 的Java应用程序,哪个连接池库是最好的? 我听说c3p0已经过时了。 雅加达的公共池库已不再开发 因此,我只剩下BoneCP和DBPool了。从我可以看出,两者活动有限。我可以看到的主要区别是性能,BoneCP似乎可以与之抗衡。但是,文档非常薄弱。 您在现实世界中使用了哪个数据库池库,为什么?好的和坏的是什么? 问题答案: 在工作中,我们使用了BoneCP(作

  • 谢谢你的时间 我得到了一个错误,因为我的项目有2个模块添加驱动程序和添加卡车,我正在为这两个模块执行sql查询,但当我为addDriver模块执行查询时,数据库异常正在抛出声明 driver insert sql语句public void insertData(driver-driver){String sql=“insert-INTO-driver”“(DLNo,DName,Age,Experi

  • c3p0 Java数据库池,故障转移配置https://docs.genesys.com/documentation/composer/8.1.4/help/connectionPooling application.properties:(出现错误)

  • 我们正在使用tomcat jdbc连接池与Oracle数据库。最近,我们遇到了JDBC瘦客户机的Oracle数据库中存在太多非活动会话的问题。 有人能帮我们吗?它为什么会导致数据库中的非活动会话,以及对此的解决方案是什么。

  • 问题内容: 可用于Java / JDBC的最佳连接池是什么? 我正在考虑2个主要候选人(免费/开源): Apache DBCP- http://commons.apache.org/dbcp/ C3P0- http://sourceforge.net/projects/c3p0 我已经在博客和其他论坛上阅读了很多有关它们的内容,但无法做出决定。 这两个有其他相关选择吗? 问题答案: DBCP已过时

  • 我遇到了一个问题: 有一个数据库,可以通过sqlDeveloper工具连接 但是我想使用c3p0将数据库与jdbcurl连接: JDBC:Oracle:thin:@ 2 . 2 . 6 . 11:2709:HL . webtest . com 获取这些错误:WARN-com . m change . v2 . resource pool . basicresourcepool$acquire ta