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();

        }

 

你可能感兴趣的:(TaskExecutor)