繁体   English   中英

使用Java定期更新数据库

[英]Updating a database periodically with Java

我想使用两个单独的类(执行不同的操作)对MySQL数据库执行更新 - 一个每10秒执行一次,每秒执行一次。 我的Java知识有一些差距,我想知道实现它的最佳方法是什么。

重要的是,如果丢失了与数据库的连接,我需要无限期地重新连接尝试,我猜测使用Prepared Statements可以提高查询效率。 是否应始终保持与数据库的连接打开或在正在运行的更新之间关闭? 如果类实例将无限期运行,也许我还需要考虑清除内存中的对象/资源。

回答你的第一个问题“如何在某个特定的时间间隔运行java类?”

您可以使用quartz触发器以时间间隔运行java类。

第二个问题:“如果conn丢失怎么办?”

检查以连接的时间间隔运行的类,如果它打开然后不尝试连接,如果丢失则首先连接到db然后更新db。

第三个问题:“每次连接都应该保持开放吗?”

如果你想以非常小的时间间隔做更新,那么我认为是的,你应该保持开放。但不确定。 也许你应该尝试保持开放。

我会保持数据库连接打开,但不要尝试自己管理打开的连接。 使用Apache DBCP之类的连接池库。 它允许指定一个validationQuery ,它在技术上是一个非常简单的SELECT请求,它在实际语句之前执行,用于验证连接是否仍然存在。 在我的应用程序中,这种方法非常扎实(一个应用程序可以全天候运行;每分钟查询一次)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM