简单说下基本配置:
applicationContext-task.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" xmlns:context="http://www.springframework.org/schema/context" xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <context:component-scan base-package="com.chinacache.oss.facade.resource" /><!--需要扫描的包--> <task:annotation-driven/> <!-- 这句是重点 定时器开关--> </beans>
配置好后,有两种方式可以实现定时任务执行,我倾向于注解这种:
@Scheduled(fixedDelay = 3000) public void process() { System.out.println("hello,jizhong,now is: " + new Date()); }
这样,在程序环境中配置好后,每隔3秒将执行一次该方法。
另一种方式如下:
在applicationContext-task.xml追加如下内容,即可。
<task:scheduled-tasks> <task:scheduled ref="simpleProcessor" method="process" cron="3/10 * * * * ?"/> </task:scheduled-tasks>