首页 > 解决方案 > Java(FX):“可观察”数据库连接的最佳实践

问题描述

我正在尝试开发一个不断与数据库(PostgreSQL)交互的应用程序。在主窗口打开期间,连接已建立,当用户按下按钮注销时,连接将被关闭。

我还在右下角有一个带有连接状态的标签,即“已连接”或“已断开连接”。我的问题是,是否可以选择以例如 5 秒的间隔观察该数据库连接的连接性,或者我是否必须在每次程序与数据库交互时检查连接性,如果是,那么最佳实践是什么。我的想法是有一个方法,如果连接仍然处于活动状态,则返回布尔值;有没有更好的解决方案?

最好的问候, PWiese

标签: javapostgresqljavafx

解决方案


数据库连接在打开后被认为是打开的,除非显式关闭(或者如果它们已配置为在不活动后关闭),知道连接是否打开的唯一方法是执行查询。

现在您想每 5 秒执行一次查询,此时连接很可能是 open,只是因为它没有打开的可能性很小,并且用户会看到“Disconnected”文本。这真的有用吗?如果在您尝试使用它时连接已关闭,您将收到异常,要求您重新连接。


推荐阅读