<!-- Quartz本地Schduler --> <bean id="localQuartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false"> <!-- Triggers集成 --> <property name="triggers"> <list> <ref bean="cronTrigger" /> </list> </property> <!-- Quartz配置 --> <property name="quartzProperties"> <props> <prop key="org.quartz.threadPool.threadCount">5</prop> </props> </property> <!-- 启动时延期3秒开始任务 --> <property name="startupDelay" value="3" /> </bean> <!-- Cron式Trigger定义 --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="cronJobDetail" /> <!-- 每天凌晨 2 点执行一次 --> <property name="cronExpression" value="0 0 2 * * ?" /> </bean> <!-- Cron JobDetajil, 基于MethodInvokingJobDetailFactoryBean调用普通Spring Bean --> <bean id="cronJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="cronJob" /> <property name="targetMethod" value="execute" /> <!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. --> <property name="concurrent" value="false" /> </bean> <!-- 被Cron执行的普通Spring Bean --> <bean id="cronJob" class="com.basepackage.quartz.ExpiresVideoCheck" />
对应的设置网上有,这里不复述了,参照这里的格式改改就好
2.将这个配置文件加载到web.xml里面
<!-- Spring ApplicationContext配置文件的路径,可使用通配符,多个路径用,号分隔 此参数用于后面的Spring Context Loader --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:/applicationContext.xml,classpath*:/applicationContext-quartz.xml</param-value> </context-param>
3.编写你的Quartz类
public class ExpiresVideoCheck { public void execute() { //System.out.println("quartz-------"); } }