java - 定期到期通知——如何避免同一条目收到重复通知?

标签 java notifications quartz-scheduler scheduling

我正在实现一个具有到期式许可证的 J2EE 应用程序,并且我想在客户的许可证即将到期时向不同的客户发送电子邮件通知。我希望能够执行诸如通知之类的操作,例如在到期前 90/60/30 天,但显然,如果对即将到期的许可证的查询结果在同一组中,我显然不想意外地发送重复的通知.

我能想到的唯一方法是在许可证 key 旁边存储一些内容来指示最后一个通知日期(或下一个通知日期)。

即A公司,许可证字符串,到期时间:2010-09-16,下次通知:2010-08-30

有没有我没有想到的更好的方法来做到这一点?

我也想为其他元素提出一种更通用的方式来安排基于时间的事件(距离 X 发生 30 天),所以如果我可以避免向几个表添加“下一个通知时间”在数据库中,我会选择它。

如果有帮助的话,我可以使用 Quartz。我以前用过它,但只与 RamJobStore 一起使用,因此重新启动之间没有任何内容被保留。

最佳答案

如果您要在到期日之前的 90/60/30 天发送通知,那么如何重复通知?

您是否在应用程序内进行通知(例如应用程序启动期间的弹出窗口)或作为单独的远程进程发送电子邮件通知?如果它在应用程序内,您始终可以在应用程序启动期间进行简单检查

关于java - 定期到期通知——如何避免同一条目收到重复通知?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3503304/

相关文章:

ios - 本地通知未触发

c# - Windows 服务发送 Toast 通知

linux - 用于在不同时间以不同时间间隔运行作业的 Cron 表达式

java - 如何在 JSF 页面中构建 URL?

java - 接下来 2 小时使用日历对象/Java-Android

android - 在 Android 中发送本地通知

grails - Grails Quartz2作业随机停止

java - 使用 jar 进行归档时头文件无效

java - 无法在控制台输出中打印 SQL 语句

java - 使用条件查询现有触发器的quartz