java - 当提醒时间到期时自动事件触发。可以使用 hibernate 来完成吗?

标签 java hibernate events reminders

我使用 hibernate 将提醒实体存储在 mysql 数据库中。 现在,每当提醒时间到期时,我需要向应用程序触发一个事件。

我应该如何实现这个,我已经查看了 hibernate 拦截器和事件。基本上在创建、保存、更新或删除时触发,而我需要监视表中的一个字段并在提醒时间到期时触发一个事件。

我还阅读了有关配置 cron 作业的信息,但我需要在应用程序中按时启动事件,因为必须在用户 GUI 上显示提醒通知。

任何建议将不胜感激。

最佳答案

看看 Quartz ( http://quartz-scheduler.org/ )。它给你一些可能性。 一种可能性是在存储提醒实体的同时安排提醒作业。 或者(可能更有效),您可以安排一个定期运行的作业,并在数据库中查询下次运行之前到期的提醒实体。然后这个定期作业将为每个提醒实体安排一个提醒作业。 提交quartz作业的示例代码:

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);

关于java - 当提醒时间到期时自动事件触发。可以使用 hibernate 来完成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16438852/

相关文章:

java - bashrc echo 来自 jsch 输出流

java - 什么时候使用嵌套类?

java - Hibernate - 从模式创建类

c# - 使用 C# 从 Visual Studio 下拉菜单中缺少控件

python - 如何从 Python 触发 Google Analytics 事件?

java - Findbugs "Method ignores exceptional return value"java.io.File.mkdirs()

java - 为 XYAreaChart 设置 "auto"范围

java - 如何将 MySQL 转换为条件查询?

java - Spring JPA : Providing Schema Name Dynamically

java - 获取鼠标单击事件的正确结果