`

定时器 quartz 和 spring

阅读更多
最近学习了一个quartz 和spring 的定时调度

这个技术的关键是。xml文件的配置问题
<?xml version="1.0" encoding="GBK"?>
<!-- 指定Spring配置文件的Schema信息 -->
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
	<!-- 配置DAO组件的模板 -->
	<!-- 线程执行器配置,用于任务注册 -->
	<!-- 启动触发器的配置开始 -->
	<bean name="startQuertz" lazy-init="false" autowire="no"
		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				 <ref bean="processFileJobTrigger" />  
			</list>
		</property>
	</bean>
	<!-- quartz-2.x的配置 -->
	<bean id="processFileJobTrigger"
		class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail">
			<ref bean="processFileJobDetail"/>
		</property>
		<property name="cronExpression">
			<value>0 05 23 * * ?"</value>
		</property>
	</bean>
	
	<!-- 调度的配置结束 -->
	<!-- job的配置开始 -->
	<bean id="processFileJobDetail"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="processFileJob"/>
		</property>
		<property name="targetMethod">
			<value>work</value>
		</property>
	</bean>
	
	<!-- 工作的bean -->
	<bean id="processFileJob" class="com.test.job.ProcessFile">
	</bean>
		
</beans>



调度的任务:
public void work(){
		
		File[]files = getAllFile();
		int monthAgeTime = getMonthAgeTime();
		for(File file:files){
			if(judgeIsDele(file, monthAgeTime)){
				file.delete();
			}
		}
	}
	
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics