Java SQLNonTransientConnectionException
编辑 我已经创建了包含加载内容的方法的任务。我需要任务,因为我想在数据加载期间将进度条设置为未确定状态。加载数据时,进度条设置为“1”(已完成) 我想实现的是:用户登录,但并没有连接,所以进度条指示应用程序正在尝试连接,过了一段时间,错误消息将弹出,并在连接丢失时执行此操作。用户尝试执行某些操作。但同样,什么也没有发生,这次没有抛出异常 它在conn=DriverManager.getConnection(DB_URL,USER,PASS)处冻结,isValid()没有帮助。 编辑结束 简短版本: 当和DB的连接丢失时,应用程序挂起,并没有抛出异常,所以我并没有什么可以捕获的,也并没有什么可以告诉用户这个问题 长版本: 我试图在应用程序中模拟“连接丢失”的情况。我想实现的是显示“与数据库的连接已丢失”对话框窗口,以便向用户提供有关问题的信息。此异常称为SQLNonTransientConnectionException。我的问题是,我只在登录过程中收到它。我有登录窗口,如果没有连接,就会抛出异常 但若用户在登录后失去连接怎么办?他是否成功登录,并且在插入/更新某些表的过程中,连接是否丢失?在这种情况下,应用程序只是挂起,并没有响应,也并没有抛出异常,所以我并没有什么可以捕获的,也并没有任何关于这个问题的信息告诉用户Java SQLNonTransientConnectionException,java,javafx,jdbc,Java,Javafx,Jdbc,编辑 我已经创建了包含加载内容的方法的任务。我需要任务,因为我想在数据加载期间将进度条设置为未确定状态。加载数据时,进度条设置为“1”(已完成) 我想实现的是:用户登录,但并没有连接,所以进度条指示应用程序正在尝试连接,过了一段时间,错误消息将弹出,并在连接丢失时执行此操作。用户尝试执行某些操作。但同样,什么也没有发生,这次没有抛出异常 它在conn=DriverManager.getConnection(DB_URL,USER,PASS)处冻结,isValid()没有帮助。 编辑结束 简短版本
请帮助我如何实现这一点好吗?这里人们建议使用连接池库,而不是自己实现它:。这将更好地处理连接丢失。(我自己没有这方面的经验)
为了总结该链接,当我将catch(sqlnonTransientConnectionException子句)放入try语句中时,它建议出于某种原因使用,而不是catch(SQLException)它可以工作。您可以从开始,但我相信在URI中添加了一个参数,允许在连接关闭时失败。您是否尝试过感谢大家提供的提示,将尝试这两种方法都没有意义,因为
sqlnontransientConnectionException
是SQLException
,所以catch子句使用SQLExceptione> 也应该捕获sqlnonTransientConnectionException
。好的,我忘了在catch(SQLException)前面插入catch(sqlnonTransientConnectionException子句)。但是现在我有另一个问题