java - JDBC 连接链接失败 - 如何进行故障转移?

标签 java database-connection

我有一个基于 Swing 开发的独立 Java Windows 应用程序。它连接到 MySQL 数据库进行数据存储。如果数据库连接失败,我会从 MySQL JDBC 驱动程序收到链接失败异常 (MySQLNonTransientConnectionException)。我不想重新实例化我的数据库连接对象或整个程序,以防发生此类链接失败问题。我只是想告诉用户稍后再试,而不必重新启动整个应用程序。如果用户被要求重新启动整个应用程序,这可能会给程序的质量带来负面印象。您认为标准 java 应用程序在此类数据库链接故障后进行故障转移而无需重新实例化所有通信对象的首选方法是什么?提前致谢。

最佳答案

使用连接池(例如 C3PO 或 DBCP)。您的应用程序从池中获取连接,执行语句并将连接放回到池中。可以配置该池来测试 JDBC 连接。例如,如果它们变得过时,池可以自动重新实例化它们。

如果您的应用程序从池中获取连接,则它将是有效的连接。让池处理有效/无效/陈旧 JDBC 连接的管理。

关于java - JDBC 连接链接失败 - 如何进行故障转移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7625573/

相关文章:

asp.net - 如何连接到本地 SQL Server 数据库?

java - 从网络应用程序停止/重启计算机的功能

java - Gradle 依赖项缓存可能已损坏问题

java - JNI_CreateJavaVM 在 64 位 C 中失败

Python 3.8 脚本在获取数据库连接(psycopg2 和多处理)时卡住 - Windows 7

java - Fedora 虚拟机上的 Oracle 连接速度慢

php - 在 Laravel 5.1 中关闭数据库连接

java错误: java. lang.NoClassDefFoundError

java - java.util.Date 和 XMLGregorianCalendar 之间的简单转换

php - 从 PHP : mysqli_connect(): HY000/2013 连接到我的本地主机 MySQL 实例时出现间歇性错误