我正在处理当前连接到数据库的java Web服务。有没有人知道如何每隔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
答案 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。