使用spring自带的定时器(不是Quartz)需要在spring-schedule.xml文件进行配置。
一:定义任务调度器
<task:scheduler id="XXXScheduler" pool-size="1" />
<task:scheduled-tasks scheduler="XXXScheduler">
<task:scheduled ref="query_platformTotalNumToday_10s" method="execute" cron="0/10 * * * * ?" />
.....任务列表
</task:scheduled-tasks>
说明:1.<task:scheduled 中的ref值为对应执行bean
2.<task:scheduled 中的method值为对应bean的方法
3.<task:scheduled 中的cron值为任务执行间隔设置(参考:http://www.cnblogs.com/xiaopeng84/archive/2009/11/26/1611427.html)
二:任务执行bean定义
<bean id="query_platformTotalNumToday_10s" class="com.cyyun.fm.homepage.task.QueryPlatformTalNumTaskItem">
<property name="taskName" value="queryPlatformTalNumTask" />
</bean>
1. QueryPlatformTalNumTaskItem类部分代码:
public class QueryPlatformTalNumTaskItem implements ApplicationContextAware {
private ApplicationContext applicationContext;
private String taskName;
public void execute() {
QueryStatTask syncStatTask = applicationContext.getBean(taskName, QueryStatTask.class);
syncStatTask.execute();
}
}
2.value="queryPlatformTalNumTask"为对应syncStatTask.execute();的实现类的@Service()的值
syncStatTask.execute();的实现类:
@Service("queryPlatformTalNumTask")
public class QueryPlatformTalNumTask implements QueryStatTask {
@Override
public void execute() {
}
}