springmvc使用线程池Executor

标签: 线程 线程池 springmvc整合线程池
3人阅读 评论(0) 收藏 举报
分类:

1.在application-mvc中加入如下头文件内容:

xmlns:task="http://www.springframework.org/schema/task"

http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd



<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 />  



2.在所需要的service或者controller类里面添加

@Resource(name = "taskExecutor")  
private TaskExecutor taskExecutor;

3.测试

@Controller  
public class IndexController {  
int studentscount = 0;  
@RequestMapping(value = "/index.html")  
    public ModelAndView goIndex() {  
        logBefore(logger, "列表Center");  
        ModelAndView mv = this.getModelAndView();  
                taskExecutor.execute(new Runnable() {  
  
                @Override  
                public void run() {  
                    // TODO Auto-generated method stub  
                    // 得到所有学生人数  
                    try {  
                                          studentscount = coursesService.getStudentCount(pd);  
                    } catch (Exception e) {  
                        // TODO Auto-generated catch block  
                        e.printStackTrace();  
                    }  
  
                }  
            });  
                  mv.addObject("studentscount", studentscount);  
                  mv.setViewName("common/index");  
                  return mv;  
} 


原文转自:https://blog.csdn.net/qq_24046745/article/details/5281658
查看评论

《自适应软件开发》—从奴隶主到领袖< 3 混乱边缘的繁荣 >

—————————书中是以“混沌”作为术语,我觉得有些拗口,所以改成“混乱”。在现在的软件开发中,软件工程协会所制定的能力成熟度模型(CMM)被誉为圣杯,并在当今的世界中大行其道,随着软件开发的过程的...
  • haoel
  • haoel
  • 2003-06-09 07:56:00
  • 3862

SpringMVC整合TaskExecutor线程池的配置/使用

一、配置jdbc.properties添加: #------------ Task ------------ task.core_pool_size=5 task.max_pool_size=5...
  • a128953ad
  • a128953ad
  • 2015-12-02 15:11:39
  • 5364

springmvc中线程池(ThreadPoolTaskExecutor)的配置

先说下使用场景:     由于业务需要,要从服务器下载约50G文件,首先想到的是多线程,于是自己写了个多线程就开始跑。这样做会有什么问题?     1.开多少线程合适10个?20个?我自己测了测,下载...
  • u010017712
  • u010017712
  • 2016-08-02 15:24:48
  • 351

springmvc整合TaskExecutor线程池的配置/使用

一、配置jdbc.properties添加: #------------ Task ------------ task.core_pool_size=5 task.max_pool_size=50 ...
  • u010686046
  • u010686046
  • 2017-05-03 08:51:08
  • 387

java中Executor线程池讲解与实例

近期研究了一下java自带的线程池工具Executo,所以记录一下学习的内容。什么是线程池? 线程池是预先创建线程的一种技术。线程池在还没有任务到来之前,创建一定数量的线程,放入空闲...
  • witness_mei
  • witness_mei
  • 2016-02-02 15:24:53
  • 1378

Executor线程池的几种用法

下面将介绍线程池的几种用法 一、Executor执行Runnable任务import java.util.concurrent.ExecutorService; import java.uti...
  • hp910315
  • hp910315
  • 2015-10-12 17:38:12
  • 1759

并发新特性—Executor框架与线程池(含代码)

http://blog.csdn.net/ns_code/article/details/17465497  Executor框架简介     在Java 5之后,并发编程...
  • czw698
  • czw698
  • 2014-11-25 18:06:17
  • 3045

Java中的线程池——Executor框架

1 Executor框架简介 我们通常创建的Java线程它既是工作单元,又是执行机制。每创建一个任务就需要一个新建一个线程来执行,这样会极大的消耗系统资源。从JDK5开始,把工作单元和执行分...
  • u010723709
  • u010723709
  • 2015-12-23 13:28:24
  • 624

springmvc配线程池Executor做多线程并发操作

加载xml文件在ApplicationContext.xml文件里面添加xmlns:task=&quot;http://www.springframework.org/schema/task&quot...
  • qq_24046745
  • qq_24046745
  • 2016-10-14 15:54:30
  • 12079

SPRING中的线程池ThreadPoolTaskExecutor

一、初始化 1,直接调用 ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor(); //线程池所使...
  • majian_1987
  • majian_1987
  • 2013-11-26 16:44:59
  • 5395
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 10万+
    积分: 2368
    排名: 1万+
    博客专栏
    最新评论