日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序

發(fā)布時(shí)間:2023/12/3 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Quartz定時(shí)機(jī)制
首先導(dǎo)入jar包到程序內(nèi) quartz-all-1.6.0.jar
然后創(chuàng)建一個(gè)XML
TimeConfig.xml 名字可以自己定義

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans><bean id="mainTask" class="net.timed.MainTask"/> //你要執(zhí)行的任務(wù)類 //jar類<bean id="mainJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><property name="targetObject"><ref bean="mainTask"/>//將你的類添加到定時(shí)器當(dāng)中</property><property name="targetMethod"><value>execute</value> //定時(shí)執(zhí)行類里面的哪個(gè)方法</property> </bean> <bean id="timeTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"><property name="jobDetail"><ref bean="mainJob"/></property> <!-- 0 0 10,14,16 * * ? 每天上午10點(diǎn),下午2點(diǎn),4點(diǎn) 0 0/30 9-17 * * ? 朝九晚五工作時(shí)間內(nèi)每半小時(shí) 0 0 12 ? * WED 表示每個(gè)星期三中午12點(diǎn) "0 0 12 * * ?" 每天中午12點(diǎn)觸發(fā) "0 15 10 ? * *" 每天上午10:15觸發(fā) "0 15 10 * * ?" 每天上午10:15觸發(fā) "0 15 10 * * ? *" 每天上午10:15觸發(fā) "0 15 10 * * ? 2005" 2005年的每天上午10:15觸發(fā) "0 * 14 * * ?" 在每天下午2點(diǎn)到下午2:59期間的每1分鐘觸發(fā) "0 0/5 14 * * ?" 在每天下午2點(diǎn)到下午2:55期間的每5分鐘觸發(fā) "0 0/5 14,18 * * ?" 在每天下午2點(diǎn)到2:55期間和下午6點(diǎn)到6:55期間的每5分鐘觸發(fā) "0 0-5 14 * * ?" 在每天下午2點(diǎn)到下午2:05期間的每1分鐘觸發(fā) "0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發(fā) "0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發(fā) "0 15 10 15 * ?" 每月15日上午10:15觸發(fā) "0 15 10 L * ?" 每月最后一日的上午10:15觸發(fā) "0 15 10 ? * 6L" 每月的最后一個(gè)星期五上午10:15觸發(fā) "0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一個(gè)星期五上午10:15觸發(fā) "0 15 10 ? * 6#3" 每月的第三個(gè)星期五上午10:15觸發(fā) 上面這個(gè)是quartz的語(yǔ)法 定時(shí)單位--><property name="cronExpression"><value>0 0/5 * * * ?</value> //定時(shí)的語(yǔ)法</property> </bean> <bean id="sfb" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref local="timeTrigger"/></list></property> </bean> </beans>

//下面這個(gè)類就是我在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中把這個(gè)TimeConfig.xml添加進(jìn)去作為監(jiān)聽(tīng)
系統(tǒng)啟動(dòng)的時(shí)候自動(dòng)就監(jiān)聽(tīng)這個(gè)事件

<?xml version="1.0" encoding="UTF-8"?> <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"><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/TimerConfig.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list> </web-app>

這個(gè)是quartz spring的定時(shí)機(jī)制 請(qǐng)仔細(xì)的看看 如果可以請(qǐng)給分哦

總結(jié)

以上是生活随笔為你收集整理的在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。