Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQLNonTransientConnectionException_Java_Javafx_Jdbc - Fatal编程技术网

Java SQLNonTransientConnectionException

Java SQLNonTransientConnectionException,java,javafx,jdbc,Java,Javafx,Jdbc,编辑 我已经创建了包含加载内容的方法的任务。我需要任务,因为我想在数据加载期间将进度条设置为未确定状态。加载数据时,进度条设置为“1”(已完成) 我想实现的是:用户登录,但并没有连接,所以进度条指示应用程序正在尝试连接,过了一段时间,错误消息将弹出,并在连接丢失时执行此操作。用户尝试执行某些操作。但同样,什么也没有发生,这次没有抛出异常 它在conn=DriverManager.getConnection(DB_URL,USER,PASS)处冻结,isValid()没有帮助。 编辑结束 简短版本

编辑

我已经创建了包含加载内容的方法的任务。我需要任务,因为我想在数据加载期间将进度条设置为未确定状态。加载数据时,进度条设置为“1”(已完成)

我想实现的是:用户登录,但并没有连接,所以进度条指示应用程序正在尝试连接,过了一段时间,错误消息将弹出,并在连接丢失时执行此操作。用户尝试执行某些操作。但同样,什么也没有发生,这次没有抛出异常

它在conn=DriverManager.getConnection(DB_URL,USER,PASS)处冻结,isValid()没有帮助。 编辑结束

简短版本:

当和DB的连接丢失时,应用程序挂起,并没有抛出异常,所以我并没有什么可以捕获的,也并没有什么可以告诉用户这个问题

长版本:

我试图在应用程序中模拟“连接丢失”的情况。我想实现的是显示“与数据库的连接已丢失”对话框窗口,以便向用户提供有关问题的信息。此异常称为SQLNonTransientConnectionException。我的问题是,我只在登录过程中收到它。我有登录窗口,如果没有连接,就会抛出异常

但若用户在登录后失去连接怎么办?他是否成功登录,并且在插入/更新某些表的过程中,连接是否丢失?在这种情况下,应用程序只是挂起,并没有响应,也并没有抛出异常,所以我并没有什么可以捕获的,也并没有任何关于这个问题的信息告诉用户


请帮助我如何实现这一点好吗?

这里人们建议使用连接池库,而不是自己实现它:。这将更好地处理连接丢失。(我自己没有这方面的经验)


为了总结该链接,当我将catch(sqlnonTransientConnectionException子句)放入try语句中时,它建议出于某种原因使用

,而不是catch(SQLException)它可以工作。

您可以从开始,但我相信在URI中添加了一个参数,允许在连接关闭时失败。您是否尝试过感谢大家提供的提示,将尝试这两种方法都没有意义,因为
sqlnontransientConnectionException
SQLException
,所以catch子句使用
SQLExceptione> 也应该捕获
sqlnonTransientConnectionException
。好的,我忘了在catch(SQLException)前面插入catch(sqlnonTransientConnectionException子句)。但是现在我有另一个问题