Spring quartz使用

新建任务类

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值