夜隼

RYSZ

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
TimeTask方式

<bean id="autoSpiderBackGroundThread" class="AutoSpiderBackGroundThread"/>
<bean id="scheduledTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask">
<ref bean="autoSpiderBackGroundThread"/>
</property>
<!-- 任务执行周期 2m 关于一些任务的参数请参考JDK doc文档和Spring相关文档-->
<property name="period">
<value>60000</value>
</property>
<!-- 延时1m 执行任务 -->
<property name="delay">
<value>1000</value>
</property>
</bean>
<!-- 启动定时器 -->
<bean id="timerBean" class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref bean="scheduledTask"/>
</list>
</property>
</bean>



import java.util.TimerTask;
import org.apache.log4j.Logger;

public class AutoSpiderBackGroundThread extends TimerTask{
 
 protected Logger log = Logger.getLogger(AutoSpiderBackGroundThread.class);
 public static int i = 0;
 public AutoSpiderBackGroundThread()
 {
 }
 
 @Override
 public void run()
 {
  log.debug("第"+i+"次请求...");
  i++;
 }
}



Quartz方式

<!-- 配置 -->
 <bean name="randomPriceJob" class="org.springframework.scheduling.quartz.JobDetailBean">
 
  <property name="jobClass">
   <value>AutoSpiderBackGroundThread</value>
  </property>
 
  <property name="jobDataAsMap">
   <map>
    <entry key="timeout"><value>5</value></entry>
   </map>
  </property>
 
 </bean>
 <!-- 配置触发器 -->
 <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
 
  <property name="jobDetail">
   <ref bean="randomPriceJob"/>
  </property>
  <!-- 每天的11点到11点59分中,每分钟触发RandomPriceJob,具体说明见附录 -->
  <property name="cronExpression">
   <value>0 * 11 * * ?</value>
  </property>
 </bean>

 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

  <!-- 添加触发器 -->
  <property name="triggers">
   <list>
    <ref local="cronTrigger"/>
   </list>
  </property>
 </bean>


import org.apache.log4j.Logger;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class AutoSpiderBackGroundThread extends QuartzJobBean{
 
 protected Logger log = Logger.getLogger(AutoSpiderBackGroundThread.class);
 public static int i = 0;
 private int timeout;
 public AutoSpiderBackGroundThread()
 {
 }
 public void setTimeout( int timeout )
 {
   this.timeout = timeout;
 }
 
 @Override
 protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
  log.debug("自动采集进程启动...");
  
 }
 
}


import org.apache.log4j.Logger;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class AutoSpiderBackGroundThread extends QuartzJobBean{
 
 protected Logger log = Logger.getLogger(AutoSpiderBackGroundThread.class);
 public static int i = 0;
 private int timeout;
 public AutoSpiderBackGroundThread()
 {
 }
 public void setTimeout( int timeout )
 {
   this.timeout = timeout;
 }
 
 @Override
 protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
  log.debug("自动采集进程启动...");
  
 }
 
}


posted on 2008-03-31 09:55  夜隼  阅读(1224)  评论(0编辑  收藏  举报