根据数据库行在日期/时间启动 Java 事件



>我正在尝试创建一个侦听器(或类似的东西?),当数据库行中的日期字段与当前时间相同时,它将启动特定事件。当然,我可以每秒触发一次以检查日期/时间是否与当前相同,但我认为这是相当广泛的。应该有更好的选择..

我尝试做的是以下内容:我的数据库中安排了几场(例如足球)比赛。在比赛应该开始的特定时间,我将在我的 Java 应用程序中启动一个事件。当时这可能是 1 个或多个匹配项。

我知道

您正在尝试在 java 应用程序中而不是在数据库中安排未来事件的执行。

应考虑使用ScheduledExecutorService方法schedule将任务的执行延迟到特定时间点。

您必须解决的唯一问题是如何将数据库中的任务与计划中的任务同步。

编辑:如果您保留返回任务 ID->ScheduledFuture 对象的映射,则可以轻松地对对象调用取消以删除任务。但是您必须添加某种最后修改列来检测新的和更新的任务,并查询数据库以检查是否有任何新任务。

最新更新