【问题标题】:JDBC Connection Link Failure - How to fail over?JDBC 连接链接失败 - 如何进行故障转移?
【发布时间】:2011-10-02 09:28:11
【问题描述】:

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

【问题讨论】:

  • 我看不出您的程序如何在不打开新连接的情况下继续运行。
  • 您必须根据您的要求对其进行编码 - if database_dead display message

标签: java database-connection


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多