每5分钟检查一次数据库

时间:2012-02-27 18:32:10

标签: java database web-services

我正在处理当前连接到数据库的java Web服务。有没有人知道如何每隔5分钟查询数据库以检查是否有任何更新?任何代码/信息将不胜感激。谢谢!

5 个答案:

答案 0 :(得分:3)

ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
executorService.scheduleWithFixedDelay(new Runnable() {
            public void run() {
              //put query logic here
                }
            }
        }, 10, 5, TimeUnit.MINUTES);

答案 1 :(得分:0)

如果您是spring框架,那么可以使用它的库。使用

@Scheduled(cron = " * 5 *  * * * ") 
public void methodName() {
.........
}

每个星星代表秒,分钟,小时,天,月,周日。

示例模式:

"0 0 * * * *" = the top of every hour of every day.
"*/10 * * * * *" = every ten seconds.
"0 0 8-10 * * *" = 8, 9 and 10 o'clock of every day.
"0 0 6,19 * * *" = 6:00 AM and 7:00 PM every day.
"0 0/30 8-10 * * *" = 8:00, 8:30, 9:00, 9:30, 10:00 and 10:30 every day.
"0 0 9-17 * * MON-FRI" = on the hour nine-to-five weekdays
"0 0 0 25 12 ?" = every Christmas Day at midnight

https://spring.io/guides/gs/scheduling-tasks/

答案 2 :(得分:-1)

听起来你需要创建一个新线程或新的Runnable,只需执行你的代码,然后睡觉(5000 * 60);

答案 3 :(得分:-1)

如果您希望此轮询是一个以有限间隔运行的持续运行的任务,那么您可以使用Java TimerTask。 http://docs.oracle.com/javase/1.4.2/docs/api/java/util/TimerTask.html

答案 4 :(得分:-1)

使用java Timers