新建任务类
public class SiteMapXMLJob {
private final Logger log = Logger.getLogger(SiteMapXMLJob.class);
private ISeoService seoService;
public void makeXML() {
log.debug("Starting XML...");
seoService.makeSolutionSiteMap(CommonUtil.WEB_ROOT_PATH, "solution_sitemap");
log.debug("Ending XML...");
}
public void setSeoService(ISeoService seoService) {
this.seoService = seoService;
}
}
web.xml中引用
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/spring-config/datasource.xml
,classpath*:applicationContext-*.xml
</param-value>
</context-param>
applicationContext-quartz.xml文件配置
<bean id="siteMapXMLJob" class="com.comtech.quartz.SiteMapXMLJob">
</bean>
<bean id="siteMapXMLJobTask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="siteMapXMLJob" />
</property>
<property name="targetMethod">
<value>makeXML</value>
</property>
</bean>
<bean id="siteMapXMLJobTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="siteMapXMLJobTask" />
</property>
<property name="cronExpression">
<value>0 0 12 * * ?</value>
</property>
</bean>
<!-- 调用-->
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="siteMapXMLJobTaskTrigger" />
</list>
</property>
</bean>
cronExpression表达式的一些例子:
"0 0 12 * * ?"每天中午十二点触发
"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点开始到2点59分每分钟一次触发
"0 0/5 14 * * ?"每天从下午2点开始到2:55分结束每5分钟一次触发
"0 0/5 14,18 * * ?"每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?"每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED"三月的每周三的14:10和14: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