我创建了一个在apache tomcat上运行的Web应用程序,并在JSP中编码。它使用jdbc连接到mysql数据库以从Web界面输入/操作值
我现在想要将当前日期与mysql数据库中名为expiry date的列进行比较。如果在比较数据库中的当前日期和所有到期日期时,在任何到期日期中发现30天的差异,则应生成电子邮件警报。(将有关到期的电子邮件发送到预定义的电子邮件地址)
我已将日期存储在mysql中作为varchar()类型,因为我在使用日期类型时遇到了一些问题。
我怎样才能做到这一点?我希望每天这个代码运行一次,以检查数据库中的任何日期是否到期
答案 0 :(得分:0)
您正在寻找cron作业,您可以在此处查看示例http://makdns.blogspot.com/2011/02/java-servlet-cron-job-thoruhg-tomcat.html
您首先创建一个实际上是您的业务的java类文件的作业,它应该例如从DB获取所有记录,比较日期并发送电子邮件;接下来你必须设置你的cronjob选项,每天或每周重新运行一次这个工作......它取决于你的应用程序大小。
你应该谷歌与cron作业,cron任务关键词获取更多信息。
修改强> 您可以解析并创建类似
的日期对象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
}
希望得到这个帮助。