现在的位置: 首页 > 综合 > 正文

Spring中quartz的简单例子

2013年09月12日 ⁄ 综合 ⁄ 共 2246字 ⁄ 字号 评论关闭

 资讯首页要1个小时静态化一次,之前做法很龌龊,今天用了spring中来配置quartz。看一下简单例子吧:

 

 

  1. <!-- quartz配置 -->
  2.     <bean id="indexTask" class="com.tsts168.sunyanan.app.index.support.IndexTask"></bean>
  3.     <!-- 定义调用对象和调用对象的方法 -->
  4.     <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  5.         <!-- 调用的类 -->
  6.         <property name="targetObject">
  7.             <ref bean="indexTask"/>
  8.         </property>
  9.         <!-- 调用类中的方法 -->
  10.         <property name="targetMethod">
  11.             <value>run</value>
  12.         </property>
  13.         <property name="concurrent" value="false" />
  14.     </bean>
  15.     <!-- 定义触发时间 -->
  16.     <bean id="doTime" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
  17.         <property name="jobDetail">
  18.             <ref bean="jobtask"/>
  19.         </property>
  20.         <!-- repeat every 1小时 3600000 -->
  21.         <property name="repeatInterval" value="3600000" />
  22.     </bean>
  23.     <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序  -->
  24.     <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  25.         <property name="triggers">
  26.             <list>
  27.                 <ref bean="doTime"/>
  28.             </list>
  29.         </property>
  30.     </bean>

 

  1. package com.tsts168.sunyanan.app.index.support;
  2. import java.util.Date;
  3. import org.apache.commons.logging.Log;
  4. import org.apache.commons.logging.LogFactory;
  5. import org.springframework.context.ApplicationContext;
  6. import org.springframework.context.support.ClassPathXmlApplicationContext;
  7. import com.tsts168.sunyanan.app.common.util.HtmlUtil;
  8. import com.tsts168.sunyanan.app.index.manager.IndexManager;
  9. /*
  10.  * 首页2小时生成一次的调度
  11.  * 
  12.  */
  13. public class IndexTask {
  14.     private Log log = LogFactory.getLog(IndexTask.class);
  15.     
  16.     @SuppressWarnings("deprecation")
  17.     public void run() {
  18.         
  19.          // 生成静态页面
  20.         ApplicationContext scontext = new ClassPathXmlApplicationContext("applicationContext.xml");
  21.         IndexManager manager = (IndexManager) scontext.getBean("indexManager");
  22.         Object obj = manager.service(null);
  23.         HtmlUtil hutil = new HtmlUtil();
  24.         
  25.         hutil.writeIndexHtml(System.getProperty("tsts.root") + "/template", System.getProperty("tsts.root"), obj);
  26.         log.warn("生成首页at: " + (new Date()).toLocaleString());
  27.     }
  28. }

就不多做介绍了,很明了

 

抱歉!评论已关闭.