Spring——自动执行定时任务和JAVA需调用执行的定时任务
项目在启动执行时会自动加载定时的java文件
spring.xml
<!-- id名称,class路径,init-method初始化函数,destroy-method销毁函数 -->
<bean id="checkFileTimeOut" class="com.adtec.starring.init.ChkPendFile" init-method="init" destroy-method="stop"/>
ChkPendFile.java
import java.util.Timer; import java.util.TimerTask; public class ChkPendFile { private Timer timer; /** * 初始化定时器,每24小时执行一次 */ public void init() { timer = new Timer(); timer.scheduleAtFixedRate(new TimerTask() { public void run() { //需要定时执行的方法或方法体 } }, 50, 24 * 60 * 60 * 1000);//第一次延迟50ms执行,后每隔24小时执行一次 } /** * 定时器停止 */ public void stop() { timer.cancel(); } }
定时方法参考:https://www.cnblogs.com/it-mh/articles/10097335.html
JAVA--需调用执行的定时任务
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class XXXMonitor { private static XXXMonitor xxxMonitor = null; public static XXXMonitor getInstance(){ if(null == xxxMonitor){ return new XXXMonitor(); } return xxxMonitor; } /** * 启动自动任务 */ public void startMonitor(){ Timer timer = new Timer(); //执行定时任务,第一次延迟50ms执行,后每隔1分钟执行一次 timer.scheduleAtFixedRate(new Monitor(), 50, 1 * 60 * 1000); System.out.println("=====定时任务启动成功====="); } } class Monitor extends TimerTask{ @Override public void run() { DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("定时任务执行一次"+df.format(new Date())); } }

浙公网安备 33010602011771号