当前位置: 首页 > 知识库问答 >
问题:

Java计时器任务首次运行

毛勇
2023-03-14

我有一个Java的计时器任务来生成每日报告。当我通过linux终端调用Java类(调度定时器任务),而不是在给定时间调度第一次运行时,它会在命令执行后立即运行。有人能建议为什么会这样吗...

我使用的计划它。

忘了补充一下,我使用的是java 1.5,这里是def方法

代码片段:

timer.scheduleAtFixedRate(new ArchiveTask(), archiveSchedule, 86400000);

public class ArchiveTask extends TimerTask {

public void run() {
        backUpFiles();
    }

public void backUpFiles(){
            ...}
}

共有2个答案

翟志新
2023-03-14

梦想家提出的问题是,第二个参数是0。

司寇瑾瑜
2023-03-14

为了补充我之前所说的内容,下面是工作代码:

public class Test {
static Timer timer = new Timer();

public static void main(String[] args) {
    timer.scheduleAtFixedRate(new timeTask(), 10000, 10000);
}

private static class timeTask extends TimerTask {

    @Override
    public void run() {
        System.out.println("inside task");
    }

}
}
 类似资料:
  • 基本上,我想做的是制作一个计时器,在x秒后运行一个特定的TimerTask,但是TimerTask可以重新安排计时器在y秒后执行任务。下面是一个示例,它在我试图在TimerTask run中调度此任务的行上给出了一个错误“线程中的异常”Timer-0“java.lang.IllegalStateException:任务已调度或已取消”。

  • 问题内容: 是否可以在确切指定的时间仅安排一次Spring服务方法?例如,当前时间是下午2点,但是当我按下操作按钮时,我希望我的服务方法从晚上8点开始。我熟悉@Scheduled批注,但不确定如何编写cron表达式以使其不定期运行。这一次,每天晚上8点触发。 有什么建议? 问题答案: 您可以使用Spring的TaskScheduler的实现之一。我在下面提供了一个示例,该示例不需要太多配置(包装了

  • 我的计时器任务没有正常工作。我计划每3秒钟重复一次特定的任务,但这并没有发生。 根据Java文件: 计划(TimerTask任务、长延迟、长周期)。将指定的任务安排为重复的固定延迟执行,从指定的延迟后开始。随后的执行大约按规定的时间间隔定期进行。 但我只有一个“新任务!!!!”控制台打印 我是不是遗漏了什么? 谢谢 更新: 我将尝试在这里粘贴每一段相关的代码,从上到下执行。 开始:

  • 我使用Timer和TimerTask为聊天应用程序长轮询新消息。我想研究两种“稍微”不同的可能性: 1:计时器声明为局部变量 *问题:每次调用该方法时,我都会看到创建了一个新线程,[Timer-1]、[Timer-2]等等。。在Eclipse调试窗口中,即使在getLastMessages(..)之后,它们似乎都在运行完成运行并向客户端返回值。如果计时器实际使用线程,并且在几次事务之后,服务器最终

  • 当我把逻辑放在一个可运行的线程中时,它工作得很好,只是我不能与UI线程交互。所以我试图把所有的东西都放在一个类中,这个类扩展了Task,除了Task只执行一次之外,其他的都可以工作。没有错误,我从Task successed方法获得一条successed消息。 我还尝试在call方法中使task return Boolean为true,但这没有帮助。 请注意,此代码实际上存在于控制器中,但我将其放

  • 在我的生产服务器 (Windows 服务器 2012) 上,我安排了各种任务。我已经启用了任务计划程序历史记录,但它没有用。LastRunResult 我的每个任务都显示“上次运行的任务已由用户终止”,这意味着经过身份验证的程序已终止此任务。但是没有配置这样的程序可以停止所有这些任务。由于这个任务没有得到完成 1.我怎么能跟踪哪个程序/任务导致这种情况?这些计划任务之间存在巨大的时间差,那么问题可