我如何每天检查数据库字段?Cron工作?

时间:2013-05-14 15:08:07

标签: java oracle sqlite java-ee cron-task

我正在使用Java开发应用程序,该应用程序连接到数据库(Oracle或SQLite)。在数据库中我存储合同。合同有字段access_date。我想每天检查一次此字段,如果有一天access_date将等于当前日期,则将合同标记为无效。我该如何实现呢?在PHP中,据我所知,这些任务有cron作业但是java或java ee呢?我怎么能这样做?提前谢谢!

3 个答案:

答案 0 :(得分:2)

您可以通过两种方式执行此操作:

  1. 您可以使用Cron在特定时间调用Java程序(在您的 案例,每天一个)。
  2. 如果您的Java程序设计为作为服务/守护程序运行(始终在后台运行),则可以使用Quartz Scheduler之类的作业调度程序在特定时间调用某个检查功能。
  3. 作为2.的扩展名,您可以使用ScheduledExecutorService

答案 1 :(得分:0)

使用TimerTask或ScheduledTask。这是一个很好的教程:

http://www.ibm.com/developerworks/java/library/j-schedule/index.html

答案 2 :(得分:0)

我没有保存合同无效的属性,而是每天都要对sysdate进行检查,而是使用谓词“access_date< trunc(sysdate)”来查找过期的合同,以及表达式等为:

case when access_date < trunc(sysdate) then 'N' else 'Y' end

...显示合同是否有效。