-1

我制作了一个在 apache tomcat 上运行并用 JSP 编码的 Web 应用程序。它使用 jdbc 连接到 mysql 数据库以从 Web 界面输入/操作值

我现在想将当前日期与 mysql 数据库中名为到期日期的列进行比较。如果在比较当前日期和数据库中的所有到期日期时发现任何到期日期相差 30 天,则应生成电子邮件警报。(将有关到期的电子邮件发送到预定义的电子邮件地址)

我已将日期存储在 mysql 中作为 varchar() 类型,因为我在使用日期类型时遇到了一些问题。

我怎样才能做到这一点?我希望每天这段代码应该运行一次以检查数据库中的任何日期是否到期

4

1 回答 1

0

您正在寻找 cron 工作,您可以在此处查看示例http://makdns.blogspot.com/2011/02/java-servlet-cron-job-thoruhg-tomcat.html

您首先创建一个工作,它实际上是一个执行您的业务的 java 类文件,例如它应该从数据库中获取所有记录,比较日期并发送电子邮件;接下来,您必须设置您的 cronjob 选项以每天或每周重新运行该作业......这取决于您的应用程序大小。

您应该使用 cron jobs、cron tasks 关键字搜索更多信息。

编辑 您可以解析和创建日期对象,例如

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); // or whatever format you have
Date dateFromDB = sdf.parse("String from your date column in database");
Date now = new Date();

if(now.getTime() - dateFromDB.getTime() > 30 x 24 x 3600 x 1000) {
    // TODO alert email
}

希望这有帮助。

于 2013-06-11T08:05:03.060 回答