spring整合squartz

applicationContext.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類 -->
	<bean id="startWorkJob" class="com.springquartz.bean.StartWorkJob"></bean>
	<!-- 配置任務的具體類和方法 -->
	<bean id="startWorkTask"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<!-- 要調用的bean -->
		<property name="targetObject" ref="startWorkJob"></property>
		<!-- 要調用的Method -->
		<property name="targetMethod" value="startWork"></property>
		<!-- 是否併發,false表示 若是發生錯誤也不影響下一次的調用 -->
		<property name="concurrent" value="false"></property>
	</bean>

	<!-- 配置一個觸發器 -->
	<bean id="startWorkTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail" ref="startWorkTask"></property>
		<property name="cronExpression" value="0/3 * * * * ?"></property> <!--天天的下午1點的每分鐘的0秒都執行一次 -->
	</bean>
	<!-- 總調度,用於啓動定時器 -->
	<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="startWorkTrigger" />
			</list>
		</property>
	</bean>
</beans>
程序案例:
public class StartWorkJob {
	public void startWork() {
		System.out.println("我是上班程序,天天(非週末)早晨八點須要啓動一次");
		System.out.println("上班了!~");
	}
	public static void main(String[] args) throws SchedulerException {
		ApplicationContext  actx = new ClassPathXmlApplicationContext("applicationContext.xml");
	}
}
時間的配置以下:
    時間順序符合美國人習慣:秒,分,時,天,月,年 *爲任意 ?爲無限制
示例以下:
0 0 12 * * ?---------------在天天中午12:00觸發 
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:00至2:59之間每分鐘觸發一次 
0 0/5 14 * * ?---------------天天在下午2:00至2:59之間每5分鐘觸發一次 
0 0/5 14,18 * * ?---------------天天在下午2:00至2:59和6:00至6:59之間的每5分鐘觸發一次 
0 0-5 14 * * ?---------------天天在下午2:00至2:05之間每分鐘觸發一次 
0 10,44 14 ? 3 WED---------------每三月份的星期三在下午2:00和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, 2003, 2004 and 2005年的每月的最後一個星期五的上午10:15觸發 
0 15 10 ? * 6#3---------------在每月的第三個星期五的上午10:15觸發 
0 0 12 1/5 * ?---------------從每個月的第一天起每過5天的中午12:00時觸發 
0 11 11 11 11 ?---------------在每一個11月11日的上午11:11時觸發.?
相關文章
相關標籤/搜索