SpringMVC TaskExecutor線程池


一、配置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();
        }


免責聲明!

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



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