每天固定时间执行同一任务,如何实现?

作者&投稿:冶咳 (若有异议请与网页底部的电邮联系)
在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序?具体代码怎么写?代码全点~

Quartz定时机制
首先导入jar包到程序内 quartz-all-1.6.0.jar

然后创建一个XML
TimeConfig.xml 名字可以自己定义


<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">

//你要执行的任务类
//jar类


//将你的类添加到定时器当中


execute //定时执行类里面的哪个方法







<!--
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发

上面这个是quartz的语法 定时单位
-->

0 0/5 * * * ? //定时的语法











//下面这个类就是我在XML中引入的类
package net.timed;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class MainTask {
public void execute() throws IOException
{
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("do my job"+dateFormat.format(new Date()));
Runtime.getRuntime().exec("cmd /c start E:/mbl/BusinessOffice/MoneDB/bin/bakup.bat");
}
}


然后在web.xml中把这个TimeConfig.xml添加进去作为监听
系统启动的时候自动就监听这个事件


<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">


contextConfigLocation


/WEB-INF/TimerConfig.xml




org.springframework.web.context.ContextLoaderListener



index.jsp




这个是quartz spring的定时机制 请仔细的看看 如果可以请给分哦

请参考java.util.Timer的文档
public class Timer extends Object
一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。

此类的实例可以实现在指定的时间或延时后开始指定速率(周期)的重复执行 是用来作为后台维护线程的一个很好的选择。

很简单 只需要用你需要的任务来实现一个TimerTask的run方法 并将这个TimerTask的实例在调用timer.scheduleAtFixedRate方法时传入
只需要将开始时间设定为某个小时的5分5秒 然后周期设为一个小时就可以了

具体请参考JDK文档 timer会作为一个独立的线程运行在后台 不影响主线程的运行 并在所有线程都退出后退出(作为守护线程)

我是这样处理的,希望对你有帮助。
举个例子说吧,比如我希望每天23点自动关机的计划任务
开始菜单-运行,然后输入:
at 23:00 /every:M,T,W,Th,F,S,Su shutdown -s -t 100
这样就相当于定义了一个每周一到周日的23点倒计时100秒自动关机的计划任务,周一到周日也就是每天了。
也就是用at命令。
具体的内容,你参考“系统at命令”的百科。 地址见下面的参考地址。

用批处理命令 at 命令就可以了 很简单的 有问题 hi我


力控窗口运行周期执行什么意思
在力控窗口中设置的一段时间内,系统会周期性地执行特定的任务或操作。这个周期性的执行可以是固定时间间隔内重复执行相同的任务,也可以是按照特定的时间表执行不同的任务。具体执行的任务可以是读取传感器数据、控制执行器、更新算法模型等,根据具体的应用场景和需求来决定。

java怎么指定某段代码在固定时间点前执行
System.out.println("Task is processing.");\/\/ 此处可以插入自己想运行的代码片段 } }; Calendar c = Calendar.getInstance(); c.set(Calendar.MINUTE, 26);\/\/ 时间可以自己设置 t.schedule(task, c.getTime()); }} ...

如何保持在职一天高效学习五小时
二、管住状态,优化计划 1、记录自己的时间花费情况,了解时间去处 记录时间花费情况,便于进行复盘,看看时间到底浪费在了哪里。2、记录完成质量,提高效率 记录时间,同时也要记录状态,后续根据自己的状态调整时间安排。三、固定化时间安排 1、将每天要做的事情固定时间执行 将自己想要养成的习惯固定时间去...

一起政策再一个地方最多可以执行多长时间
自己的电脑一般都在看电影,玩游戏,电脑的负荷相对要大些 求采纳 PC最长可执行多长时间?一般CPU风扇最长可以工作多长时间? 呵呵.那也要看你的主机板跟电源了还有风扇更重要,如果著三样好的话用360天不关机都可以的.风扇那要看你住的环境而定了,原装的一般2到3年,差的一年就换的也有.

影响一生的5个自律法则!!
立志要早睡早起,依然刷手机到凌晨两点;打算多读书,结果只顾着追剧,书本一页没翻过之所以会这样,是因为目标不具体,执行起来没有可操作性。 计划早睡,10点就放下手机、熄灯上床;计划看书,固定某个时间,坐在桌前读5-10页把大目标细分为具体的小目标,按照计划执行久而久之,就会越来越自律。3、降低自律做事的门槛...

spring定时任务每天晚上十二点执行 cron表达式如何写
百度一下 。Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Web...

SpringBoot 定时任务cron
, :表示列出枚举值,例如在第二位使用5,35,表示在分钟数为5、35时执行。- :表示范围,例如在第二位使用5-35,表示在分钟数为5到35时每分钟都执行。:表示匹配该域的任意值。例如在第二位使用 * 表示分钟数不做限制,每分钟都会执行。\/ :表示起始时间开始执行,然后每隔固定时间执行一次。例如...

怎么安排一天的时间?
7月20日启动高中阶段(15-17岁)人群接种,8月初启动初中阶段(12-14岁)人群接种。

JS中如何将延时执行嵌套在重复执行里面
总结一下你的想法 你是不是想持续过某段固定时间就执行一次方法?setInerval(function(){ alert("这是你想要的吗");},5000);\/\/5秒执行一次

excel中一列时间如何加上同一个时间相加excel一列日期一列时间合并
5. 右键单击添加的新列,选择“粘贴为值”,然后删除原始的时间列和添加的新列。以上是一种解决方案,在执行添加固定时间之前,最好将时间列转换为“时间”格式,以便计算正确。可以在选中时间列后右键单击并选择“格式单元格”,然后将类别更改为“时间”格式。第一步:打开Excel软件,计算几次测试一下...

虎林市17797257752: 想实现一个可以在每天固定的时间运行的程序怎么做? -
历念奥罗: 有一个方法就是程序把自己添加到系统的“计划任务” 里面.不过好像只对windows系统有效.

虎林市17797257752: 怎样在程序中每天定时执行一次处理?
历念奥罗: 您可以写个批处理1.bat无窗口启动下面2.bat放到启动项里,设置规定时间内执行程序 rem :::::::::::::::::::::::::::::::::::::::::::::::规定时间段执行程序 :MAG @echo off color 70 set TIM=%time:~0,2% set /a TIMESTEP=%TIM%-0 if %TIMESTEP% EQU 时间 GOTO MAINPAGE if %TIMESTEP% GTR 时间 START 您要执行的程序&EXIT GOTO 2.bat

虎林市17797257752: C语言如何在每天固定时间执行某一函数,比如每天12点去执行(基于定时器setitimer和信号去处理) -
历念奥罗: 不用定时器的,写个处理的程序,然后操作系统做一个计划任务定时调用这个程序.

虎林市17797257752: 通过BAT如何实现计划任务(每天指定时间段内重复运行 -
历念奥罗: 在BAT里做下时间判断,如果时间段是大于800点,小于2000点的时候就运行指定程序,否则重新判断时间.具体方法百度“bat时间判断”

虎林市17797257752: 用C#写WEB程序,如何实现定时执行 -
历念奥罗: 你的问题描述的不是很清楚,定时执行的话分两种,一种是每天固定时间点(比如每天凌晨)执行一次,还有一种是每间隔多少毫秒执行一次,而你说的是web程序,又分在服务端执行还是在浏览器端执行, 1、服务器端每天固定时间执行的情...

虎林市17797257752: 如何设置每天指定的时间内执行一个批处理文件 -
历念奥罗: 控制面板里,管理工具里,计划任务里添加计划任务.

虎林市17797257752: C#中怎么设置在每天的某个固定时间里执行一个事件? -
历念奥罗: 曾经我也用尽很多办法也想写一个每天定时把一些文件打包的c#程序,后来无意间发现windows系统有个很好的东西叫“任务计划”. 呵呵.... 写的简单才是好,写好这个方法,然后在“任务计划”中添加一个任务不就好了.

虎林市17797257752: ASP.NET中如何在每天的同一时刻执行一段程序啊 -
历念奥罗: public static void ExecByTime() { System.Timers.Timer aTimer = new System.Timers.Timer(); aTimer.Elapsed += new ElapsedEventHandler(TimeEvent); // 设置引发时间的时间间隔 此处设置为1秒 aTimer.Interval = 1000; aTimer.Enabled = true; } ...

虎林市17797257752: java 有什么方法让指定的任务在每天指定的时间段内反复执行吗? -
历念奥罗: package thread; import java.util.*; import org.apache.log4j.Logger; public class Thread_timing extends Thread{ static Logger logger = Logger.getLogger(Thread_timing.class);// 构造函数为私有类型,只能在函数内部定义 private Thread_timing(...

虎林市17797257752: mysql 创建作业 每天定时执行一次 -
历念奥罗: 具体方法就不提供了,只提供思路.第一种方法,写一个程序,比如使用java的定时任务,限定时间执行.第二种方法,mysql事件调度器自己制定定时任务.具体的lz可百度之

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网