看看石英(http://quartz-scheduler.org/)。它給你一些可能性。 一種可能性是在您存儲提醒實體的同時安排提醒作業。 或者(可能更有效),您可以安排定期運行的作業,並查詢數據庫中提示的實體,直到下次運行。然後,這個定期工作將爲每個提醒實體安排一個提醒工作。 提交石英作業的示例代碼:
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
JobDataMap map = new JobDataMap();
/* put anything necessary here. */
JobDetail job = JobBuilder.newJob()
.withIdentity("MyReminderJobName")
.withDescription("Reminder Job")
.usingJobData(map)
.ofType(MyReminderJob.class)
.build();
SimpleScheduleBuilder once = simpleSchedule().repeatSecondlyForTotalCount(1);
Date reminderDate = new Date(); //reminder event date
Trigger trigger = newTrigger()
.forJob(job)
.withSchedule(once)
.startAt()
.build();
scheduler.scheduleJob(job, trigger);
是的,很好的答案。 – 2013-05-08 17:43:04