properties配置文件的代码块
task.core_pool_size=2
task.max_pool_size=4
task.queue_capacity=10
task.keep_alive_seconds=60
appicationcotext中的代码块
<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<!-- 核心线程数 -->
<property name="corePoolSize" value="${task.core_pool_size}" />
<!-- 最大线程数 -->
<property name="maxPoolSize" value="${task.max_pool_size}" />
<!-- 队列最大长度 -->
<property name="queueCapacity" value="${task.queue_capacity}" />
<!-- 线程池维护线程所允许的空闲时间,默认为60s -->
<property name="keepAliveSeconds" value="${task.keep_alive_seconds}" />
</bean>
<!-- 注解式 -->
<task:annotation-driven executor="taskExecutor" proxy-target-class="true"/>
项目中的代码块
/**
* Spring调度,指定时间执行
* 利用了spring中使用注解的方式来进行任务调度。
*/
@Component
@Lazy(false)
public class SpringTaskController {
/**
* 与用户设置的使用率比较 spirng 调度
*
* @throws Exception
*/
@Scheduled(cron = "0/5 * * * * ? ")
public void task() throws Exception {
System.out.println("这是一个定时任务!!!");
}
@Scheduled(cron = "0/6 * * * * ? ")
public void job2() throws Exception {
System.out.println("这是一个定时的工作!!!");
}
}