Spring ThreadPoolTaskExecutor线程池

来源:互联网 发布:摩尔软件安装 编辑:程序博客网 时间:2024/06/06 06:47

ps:文章转载自:https://my.oschina.net/jgy/blog/472845

1:首先配置线程池(在spring配置文件中配置,我是在applicationContext.xml中配置的)

<!-- 异步线程池 --><bean id="taskExecutor"      class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">    <!-- 核心线程数 -->    <property name="corePoolSize" value="5" />    <!-- 最大线程数 -->    <property name="maxPoolSize" value="10" />    <!-- 队列最大长度 >=mainExecutor.maxSize -->    <property name="queueCapacity" value="100" />    <!-- 线程池维护线程所允许的空闲时间 -->    <property name="keepAliveSeconds" value="3000" />    <!-- 线程池对拒绝任务(无线程可用)的处理策略 -->    <property name="rejectedExecutionHandler">        <bean class="java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy" />    </property></bean>

2:就是注入taskExecutor并且使用

直接把线程丢到线程池中,线程池会控制何时启动它,会自动调用它的RUN方法

3:线程接口(ResponseQueueThread)

到此结束,哈哈,很简单,欢迎各种吐槽,有更好的还请推荐,thank you!谢谢


后面我用JUNIT做测试发邮件发现有点问题,感觉还没调用spring结束就没发出去,后面我手动调run方法又好了,然后正规写道spring里面没问题。

0 0
原创粉丝点击