2

我正在为一家公司构建一个相对复杂的应用程序,该应用程序跟踪多个对象并根据对象的年龄或其中包含的预设日期触发事件。

例如:

对象 object_A 包含一个“更新日期”。当更新日期和系统日期重合时,应用程序需要运行特定的例程。

我的问题是:既然会有成千上万个这样的对象,那么跟踪所有这些对象并在各自的日期和时间触发各自的例程的最有效方法是什么?

值得一提的是,我使用 Calendar 对象来描述这些日期(尽管它们可以很容易地转换为 Date 对象,所以这并不完全相关)。

我将不胜感激任何指向正确方向的...

4

2 回答 2

3

Quartz是一个用于健壮/复杂任务调度的优秀库。

于 2012-09-02T00:47:02.087 回答
2

我会鼓励你(因为你说你正在构建应用程序)重新考虑责任。我认为维持该更新日期不应该是客体责任。我的意思是你可以这样做,并且有一个代理会定期访问这些项目,看看它的更新日期是否是今天。

但是,如果您认为作为包含续订日期表的外部代理,它会更有效,因为:

  1. 具有相同更新日期的所有对象的触发器将同时触发。
  2. 将集中管理检查逻辑
  3. 如果折叠到同一日期,则存储续订日期的成本(空间)将降低。

这是一个大图景,但希望它能发挥作用。

于 2012-09-02T00:04:31.110 回答