public ReportService() {
super();
// TODO Auto-generated constructor stub
executorService = Executors.newSingleThreadScheduledExecutor();
executorService.schedule(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try {
exportToMailDaily();
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}, 1L, TimeUnit.DAYS);
}
如何在每天晚上6点运行exportToMailDaily()
方法。我在这里混淆1L, TimeUnit.DAYS
......如何做到这一点。
答案 0 :(得分:4)
答案 1 :(得分:4)
最简单的方法是使用Linux cron作业或Windows计划任务在适当的时间启动Java程序。
在Java中测试时间似乎是一种错综复杂的方法。
答案 2 :(得分:1)
以下是如何执行此操作的一个很好的演练:Java Practices
祝你好运。答案 3 :(得分:0)
您应该始终运行程序或某些第三方或操作系统调度程序。无法在java中执行此操作。
答案 4 :(得分:0)
计算您需要睡觉的时间,并相应地睡觉。也许将睡眠时间限制在下一个整小时,因此您不会对计算夏令时的错误感到惊讶。每小时醒来一次,重新计算睡眠时间是相当便宜的。
暂停一台笔记本电脑,修理时钟等可能会让你失去同步。坚持已解决所有这些问题的cron
等已建立的实用程序是一个好主意。
答案 5 :(得分:0)
使用java.util.Timer进行简单的计划工作。您并不需要直接使用执行程序。