java石英調度Quartz

可以在固定的時間執行指定的任務

1.基本格式
	用空格分開的7個部分
	①秒:0~59
	②分鐘:0~59
	③小時:0~23
	④日期:0~31
	⑤月:0~11
	⑥星期:1~7(1爲星期日)
	⑦年份:1970~2099可選
2.設置方式
	①指定具體值:5
	②連續區間:9-12
	③有間隔的區間:8-18/4
		斜槓後面爲間隔跨度
	④具體值的列表:1,3,5
	⑤通配符
		[1]*:表示在取值範圍內的所有時間點都執行調度任務
		[2]/:用於表示時間間隔
		[3]?:僅被用於day-of-month字段或day-of-week字段,表示不指定值 dayofmonth 和 dayof week必須有一個是?
		[4]L:僅被用於day-of-month字段或day-of-week字段,表示一個月或一個星期的最後一天
		[5]W("weekday"):只能用在day-of-month字段,代表工作日
		[6]#:只能用在day-of-week字段。用來指定這個月的第幾個周幾
		[7]C:指和calendar聯繫後計算過的值。
spring容器的配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

	<bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean">
		<property name="jobClass" value="com.公司名.quartz.MyQuartz"/>
	</bean>
	
	<bean id="cronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<!-- 指定克龍表達式 -->
		<property name="cronExpression" value="*/3 * * * * ?"/>   //表示每三秒鐘
		<!-- 裝配jobDetailBean -->
		<property name="jobDetail" ref="jobDetailBean"></property>
	</bean>
	
	<bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<array>
				<ref bean="cronTriggerBean"/>
			</array>
		</property>
	</bean>

</beans>

pojo對象:

public class MyQuartz extends QuartzJobBean {
	
	@Override
	protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
	  //在這裏做你想做的操作
	  //如果想要在這個pojo中注入ioc容器中的對象來進行使用的話 不可以使用 autowired註解 因爲我們注入的
	  //並不是這個MyQuartz pojo類 應該在這個MyQuartz類中提供你所需要組件的set()方法,並在JobDetailBean的jobDataMap屬性中配置
	}

}


啓動spring容器即可進行
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章