我正在尝试制作一个监听器(或类似的东西?),当数据库行中的日期字段与当前时间相同时,它将启动特定事件。当然,我可以每秒触发一次以检查日期/时间是否与当前相同,但我认为这相当广泛。应该有更好的选择..
我想做的是: 我的数据库中安排了几场(例如足球)比赛。在比赛开始的特定时间,我将在我的 Java 应用程序中开始一个事件。这可能是当时的 1 场或多场比赛。
最佳答案
我了解到您正在尝试在 Java 应用程序而非数据库中安排 future 事件的执行。
您应该考虑使用 ScheduledExecutorService
方法 schedule
将任务的执行延迟到特定时间点。
您唯一需要解决的问题是如何将数据库中的任务与计划中的任务同步。
编辑: 如果您保留 map 并返回 taskID->ScheduledFuture 对象,您可以轻松地对该对象调用 cancel 以删除任务。但是您必须添加某种 last-modification 列来检测新任务和更新任务,并查询数据库以检查是否没有任何新任务。
关于java - 根据数据库行在日期/时间开始 Java 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20882783/