gpt4 book ai didi

java - 使用 Java 创建基于 GUI 的任务调度程序

转载 作者:行者123 更新时间:2023-12-01 14:47:47 25 4
gpt4 key购买 nike

我有来自不同来源的日志文件(即 S1Log、S2Log、S3Log 等),我想每天将它们上传到服务器。该程序应在一天中的特定时间上传每个日志文件(S1Log 在上午 9 点,S2Log 在下午 3 点,S3Log 在下午 6 点)。在某些随机的日子里,我们不想遵循这个时间表,因此我们阻止上传部分或全部文件。但是,第二天应该照常遵循常规时间表。

我不确定如何安排这些任务。 JodaTime 是否适合于此,或者我应该使用 java.util.Timer 和/或 javax.swing.Timer 来代替?

是否有其他成熟且流行的 API(例如 Joda)可以帮助我编写代码?

最佳答案

创建调度程序的标准 java 解决方案是使用 ScheduledExecutorService

ScheduledExecutorService scheduledExecutorService =
Executors.newScheduledThreadPool(5);

ScheduledFuture scheduledFuture =
scheduledExecutorService.schedule(new Callable() {
public Object call() throws Exception {
System.out.println("Executed!");
return "Called!";
}
},
5,
TimeUnit.SECONDS);

我还建议您使用Quartz Scheduler。这是一个关于相同内容的有用教程 http://www.ibm.com/developerworks/library/j-quartz/

您拥有的其他选项是来自java.util.Timer的基于Java的计时器,这里有一个教程。 http://javapapers.com/core-java/java-timer/

但是选择哪一个...?让我让你变得更困难

Pros and cons of using java.util.timer vs Quartz for scheduling?

http://java.dzone.com/articles/why-you-shouldnt-use-quartz

也许评论可以帮助解决这个论点..

关于java - 使用 Java 创建基于 GUI 的任务调度程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15245778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com