在我的 struts 应用程序中,票据被提出,它们随创建时间一起存储在数据库中。
现在我的要求是在 token 创建时间 24 小时后引发事件。
我知道一个 Quatz 调度程序可以每 24 小时引发一个事件。但我的要求是基于数据库某行的时间。
我能找到上述任何工具来执行此操作吗?
如何做到对数据库的访问最少?
有人可以给我一些想法吗?我用的是MYSQL,可能需要回答。
最佳答案
在以前的一个项目中,我们曾经让用户配置任意触发的提醒,
- 根据项目的截止日期,
- 在未来的某个时候
- 基于项目的非 Activity 期 等等,
我们曾经有一个 Quartz Job 每 5 分钟运行一次,并在数据库中识别满足上述条件之一的项目记录并检索它们并执行操作(在我们的例子中,我们需要发送一封提醒电子邮件到配置了一些收件人)。
根据您的要求,您可以配置类似的作业并决定周期性。如果您的表太大,您可以每 5 分钟/10 分钟运行一次作业,这意味着事件可能会在 24 小时后以 5 分钟/10 分钟的延迟引发。如果您的表足够小,您可以每分钟运行一次作业。
HTH.
关于java - 在 struts 应用程序中的 db 中 24 小时后引发的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13153350/