需要引入的 jar:
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
1.普通的配置:
<!-- 定时任务 清分任务生成 "0 15 10 15 * ?" 每月15日上午10:15触发 "0 15 10 ? * *" 每天上午10:15触发 "0/5 * * * * ?" 5秒触发
<bean name="testTask" class="sunbox.core.vo.ClearingData" lazy-init="false"></bean>
<task:scheduled-tasks>
<task:scheduled ref="testTask" method="ClearingDataStart" cron="0 15 10 ? * *"/>
</task:scheduled-tasks> -->
2.Quartz方式配置
优点:多个定时任务之间相互没有影响
<!-- 一、要调用的工作类 -->
<bean id="doThingBean" class="bblong.core.DoThing"></bean>
<!-- 二. 任务描述类 -->
<bean id="clearingDataDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="doThingBean"/>
<property name="targetMethod" value="dongTingMethod"/>
</bean>
<!-- 配置任务触发器 -->
<bean id="clearingDataTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="clearingDataDetail"/>
<property name="cronExpression" value="0 0 0 1 1 ? 2020"/><!-- "0 21 0 01 * ?" 每月15日上午10:15触发 -->
</bean>
<!-- 四、总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="clearingDataTrigger"/>
</list>
</property>
</bean>