一、配置jdbc.properties添加:
#------------ Task ------------ task.core_pool_size=5 task.max_pool_size=50 task.queue_capacity=1000 task.keep_alive_seconds=60
二、配置spring的applicationContext.xml添加:
<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 />
三、在實現層Impl聲明並注入:
@Resource(name = "taskExecutor")
private TaskExecutor taskExecutor;
四、在方法里調用:
try {
taskExecutor.execute(new Runnable() {
public void run() {
//這里編寫處理業務代碼
}
});
} catch (Exception e) {
e.printStackTrace();
}
