<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("自动采集进程启动...");
}
}