我有一个基于 Swing 开发的独立 Java Windows 应用程序。它连接到 MySQL 数据库进行数据存储。如果数据库连接失败,我会从 MySQL JDBC 驱动程序收到链接失败异常 (MySQLNonTransientConnectionException)。我不想重新实例化我的数据库连接对象或整个程序,以防发生此类链接失败问题。我只是想告诉用户稍后再试,而不必重新启动整个应用程序。如果用户被要求重新启动整个应用程序,这可能会给程序的质量带来负面印象。您认为标准 java 应用程序在此类数据库链接故障后进行故障转移而无需重新实例化所有通信对象的首选方法是什么?提前致谢。
最佳答案
使用连接池(例如 C3PO 或 DBCP)。您的应用程序从池中获取连接,执行语句并将连接放回到池中。可以配置该池来测试 JDBC 连接。例如,如果它们变得过时,池可以自动重新实例化它们。
如果您的应用程序从池中获取连接,则它将是有效的连接。让池处理有效/无效/陈旧 JDBC 连接的管理。
关于java - JDBC 连接链接失败 - 如何进行故障转移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7625573/