【发布时间】:2018-05-11 11:55:12
【问题描述】:
编辑
我创建了包含加载内容的方法的任务。我需要任务,因为我想在数据加载期间将进度条设置为未确定状态。加载数据时,进度条设置为“1”(完成)。
我想要实现的是:用户登录,但没有连接,所以进度条指示应用程序正在尝试连接,一段时间后,错误消息将弹出,并且在连接丢失时执行此操作用户尝试做一点事。但同样,什么也没发生,这次没有抛出异常。
这一切都在 conn = DriverManager.getConnection(DB_URL, USER, PASS) 处冻结,isValid() 没有帮助。 编辑结束
短版:
当与数据库的连接丢失时,应用程序挂起并且没有抛出异常,所以我没有什么可以捕捉并通知用户问题
长版:
我正在尝试在我的应用程序中模拟“连接丢失”的情况。我想要实现的是显示“与数据库的连接已丢失”对话框窗口,以便用户了解问题。此异常称为 SQLNonTransientConnectionException。我的问题是,我只在登录过程中收到它。我有登录窗口,如果没有连接,则会引发异常。
但是如果用户在登录后失去连接怎么办?就像他成功登录并且在插入/更新某些表期间连接丢失了?在这种情况下,应用程序只是挂断了,它没有响应,也没有抛出异常,所以我没有什么可以捕捉和从用户那里得到问题。
请帮助我如何实现这一目标?
【问题讨论】:
-
您可以从
Connection.isValid开始,但我相信有一个参数可以添加到 URI 中,如果连接关闭则允许失败。 -
谢谢大家的建议,两个都试试