我有一个ISSUEBOOK
数据库(mysql)包含以下字段/列
- 登录ID
- 发布日期
- 截止日期
现在我需要实现 JAVA
代码应该 automatically
向超过截止日期的用户发送邮件。
有关用户电子邮件地址的信息可以从 STUDENTACCOUNT
检索使用其登录 ID 的数据库。
所以请帮助我提供伪代码/算法来实现这一目标。我使用的是Struts 1.3.8框架。
如果我想在固定时间定期运行上述实现的代码,那么如果我是正确的,我必须实现 quartz scheduler
。
最佳答案
您的问题涵盖了太多主题(设计、算法和程序),无法得到明确的答案。请访问https://stackoverflow.com/faq )
您不必使用“quartz”调度程序,但它是简单且有用的调度程序之一(我们使用它)。 cron/at 对于你的情况来说就足够了。
实现调度程序后,将作业安排在每天的固定时间(除非用户位于多个时区,否则每小时运行一次没有意义。作业应检查是否有任何记录(来自 ISSUEBOOK )以及到期时间日期早于当前时间。
以下查询可以给出获取的粗略想法
select user.email from STUDENTACCOUNT user, ISSUEBOOK rentals
where user.<id> = rentals.loginid --assuming a foreign key
and rentals.duedate < now -- mysql built in function
获取唯一记录,然后发送邮件。
请开展该项目并提出具体问题。
关于java - 使用 JavaMail 在超过截止日期时自动向用户发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235422/