Spring之線程池配置的兩種方式


1. 通過XML定義bean

 1     <!-- Spring線程池 -->
 2     <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
 3         <!-- 核心線程數 -->
 4         <property name="corePoolSize" value="5" />
 5         <!-- 線程池維護線程的最大數量 -->
 6         <property name="maxPoolSize" value="10" />
 7         <!-- 允許的空閑時間, 默認60秒 -->
 8         <property name="keepAliveSeconds" value="60" />
 9         <!-- 任務隊列 -->
10         <property name="queueCapacity" value="50" />
11         <!-- 線程超過空閑時間限制,均會退出直到線程數量為0 -->
12         <property name="allowCoreThreadTimeOut" value="true"/>
13         <!-- 對拒絕task的處理策略 -->
14         <property name="rejectedExecutionHandler">
15             <bean class="java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy" />
16         </property>
17     </bean>

2. 使用task:executor方式

 1     <?xml version="1.0" encoding="UTF-8"?>
 2     <beans xmlns="http://www.springframework.org/schema/beans"
 3  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4  xmlns:task="http://www.springframework.org/schema/task"
 5  xsi:schemaLocation=  6  "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd  7  http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">
 8 
 9      <!-- 包路徑掃描 -->
10     <context:component-scan base-package="spring.task"/>
11 
12     <!-- 定義線程池 -->
13     <task:executor id="executor" pool-size="5" queue-capacity="10" rejection-policy="DISCARD_OLDEST"/>
14 
15   </beans>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM