SpringMVC整合TaskExecutor執行緒池的配置/使用
阿新 • • 發佈:2019-01-27
一、配置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(); }