[英]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.