Spring 定时任务
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="mesBean" class="cn.xg.spring.Message" abstract="false"
</bean>
<!-- spring定时器 -->
<!-- 方法一 -->
<!-- 第一步 声明一个定时任务,该类extends java.util.TimerTask -->
<bean id="clock" class="cn.xg.spring.Clock"></bean>
<!-- 第二步 调度定时任务,把声明的定时任务注入进来,并设置定时参数 -->
<bean id="scheduledClock" class="org.springframework.scheduling.timer.ScheduledTimerTask">
</bean>
<!-- 启动定时任务,如果有多个定时任务,则重复步骤一,二,然后把第二步设置的beany放在下面的list列表中.此方法不能精确几点运行定时任务 -->
<bean class="org.springframework.scheduling.timer.TimerFactoryBean">
</bean>
<!-- 方法二 -->
<!-- 第一步 声明一个定时任务,注意不是直接声明,而是声明一个JobDetailBean,通过jobClass属性设置一个定时对象 -->
<bean id="quartzClock" class="org.springframework.scheduling.quartz.JobDetailBean">
</bean>
<!-- 第二步 调度定时任务 -->
<!--这种配置与第一种方法效果一样
-->
<!-- 这种配置可以精确几点执行定时任务 -->
<bean id="cronQuartzClock" class="org.springframework.scheduling.quartz.CronTriggerBean">
</bean>
<!--第三步 启动定时任务,注意这里的ref bean -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
</bean>
</beans>
clock.java
package cn.xg.spring;
imp
public class Clock extends TimerTask{
@Override
public void run() {
}
}
QuartzClock .java
package cn.xg.spring;
imp
imp
imp
public class QuartzClock extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext arg0)
}
}
SpringTest .java
package cn.xg.spring;
imp
imp
imp
public class SpringTest {
public static Logger log = Logger.getLogger(SpringTest.class);
public static void main(String[] args) {
}
}
所需要的jar包:
spring.jar;quartz-all-1.6.0.jar;commons-collections.jar;可能还要commons-*.jar