AnLing1314
洛阳高歌
采纳率0%
2019-10-20 10:40 阅读 2.1k

求教大佬:关于java实现日程定时提醒的定时提醒功能

我写一个日程任务提醒系统,然后任务时间是由用户选择的,到了指定时间点,会在后台打印任务日志出来。目前遇到的问题是,怎么定时提醒,有考虑过当用户登录的时候从数据库查询,然后将任务ID和时间存在HashMap中,然后排序,将时间戳转换过来秒数最小的排在前面,执行后,将其删除,然后等待执行下一个定时任务。请问应该怎么样实现定时提醒这个功能呢,希望有大佬不吝赐教,不胜感激!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • wojiushiwo945you 毕小宝 2019-10-20 14:26

    首先,如果要用数据库的话,需要设计一张日程表,记录日程名称、约定执行时间、时间执行时间,状态(执行完成后修改该状态)。
    其次,要考虑这个功能是 web 服务呢,还是普通的 Java 工程,如果是普通工程,可以按你的思路,将日程信息存储在内存 HashMap 中。
    第三,定时提醒功能的实现,可以考虑用定时器,比如 Quartz 或者 Java 自带的定时任务,时间设置为每分钟执行一次,执行过程为:遍历日程信息,然后比较当前系统时间是否与日程预定时间一致,一致就执行日程,并修改日程状态。
    核心思想是:需要使用到定时任务,遍历日程表对比时间,模拟提醒功能。

    点赞 评论 复制链接分享

相关推荐