我有一项任务,我打算安排在工作日的9:45,12:45和3:00运行。我曾尝试使用ScheduledExecutorService和TimerTask,但这两个都只允许我在经常延迟后执行。我想不出一种方法可以让我做我想做的事情而不创建15个TimerTask实例,每个实例设置为每周执行一次。有更好的解决方案吗?
答案 0 :(得分:0)
您可以编写任务,以便在完成其工作(或者可能就像它开始工作)之后,它会调度自己的新实例以在下一个时隙运行。至少就这样,一次只能完成一项任务(可以这么说)。
答案 1 :(得分:0)
我不介意介绍一个外部库,然后quartz会让你以这种方式安排任务(以及其他无数种方式)。
答案 2 :(得分:0)
如果您正在使用完整的JEE服务器(Wildfly,Glassfish,WLS等),则可以使用TimerService方法createTimer。基本上,您可以设置计时器关闭的时间,间隔持续时间为24小时。