我正在用 Java 开发连接到数据库(Oracle 或 SQLite)的应用程序。在数据库中,我存储合同。合同有字段access_date
。我想每天检查一次该字段,如果某一天access_date
等于当前日期,则将合同标记为无效。我该如何实施?据我所知,在 PHP 中有此类任务的 cron 作业,但是 java 或 java ee 呢?我该怎么做?提前谢谢!
问问题
2185 次
3 回答
2
您可以通过两种方式做到这一点:
- 您可以使用 Cron 在特定时间(在您的情况下,每天一次)调用 Java 程序。
- 如果您的 Java 程序设计为作为服务/守护程序运行(始终处于后台),您可以使用Quartz Scheduler等作业调度程序在特定时间调用某个检查功能。
- 作为 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 回答