集群环境下定时任务保证只有一台服务器执行

  1. @Scheduled注解实现定时任务
  2. 创建一个task_work表,utime,taskName两个字段。
    在定时任务方法里执行修改这个表
    update task_work set utime = #{utime}
    where task_name = #{taskName} and utime < #{utime}
  3. 根据执行修改结果,成功的执行具体任务即可
  4. 也可以使用redis,锁住记录

你可能感兴趣的:(java,java)