当尝试数据库行中的日期字段与当前时间相同时,我试图创建一个侦听器(或类似的东西?)来启动特定事件。当然,我可以触发每一秒来检查日期/时间是否与当前相同,但我认为这是非常广泛的。应该有更好的选择..
我想做的是以下内容: 我在我的数据库中安排了几个(例如橄榄球)比赛。在比赛开始的特定时间,我将在我的Java应用程序中启动一个事件。这可能是当时的一场或多场比赛。
答案 0 :(得分:5)
我知道您正在尝试在Java应用程序中安排未来事件的执行,而不是在数据库中。
您应该考虑使用ScheduledExecutorService
方法schedule
将任务执行延迟到特定时间点。
您必须解决的唯一问题是如何将数据库中的任务与计划中的任务同步。
编辑: 如果您使用taskID-> KeepledFuture对象保留地图,则可以轻松调用取消对象以删除任务。但您必须添加某种最后修改列来检测新的和更新的任务,并查询数据库以检查是否没有任何新任务。