1

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

4

3 回答 3

2

您可以通过两种方式做到这一点:

  1. 您可以使用 Cron 在特定时间(在您的情况下,每天一次)调用 Java 程序。
  2. 如果您的 Java 程序设计为作为服务/守护程序运行(始终处于后台),您可以使用Quartz Scheduler等作业调度程序在特定时间调用某个检查功能。
  3. 作为 2. 的扩展,您可以使用ScheduledExecutorService
于 2013-05-14T15:11:37.110 回答
0

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

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

于 2013-05-14T15:11:13.730 回答
0

我不会为无效的合同保存属性,并且必须每天根据 sysdate 检查它,而是使用诸如“access_date < trunc(sysdate)”之类的谓词来查找过期的合同,并使用如下表达式:

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

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

于 2013-05-14T17:20:10.673 回答