160607springmvc+spring使用taskExecutor

Posted 目标奔雷手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了160607springmvc+spring使用taskExecutor相关的知识,希望对你有一定的参考价值。

第一步:导入spring core的jar+springmvc的jar

第二步:springmvc的配置文件中

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

第三步:jdbc.properties中

#------------ Task ------------
task.core_pool_size=5
task.max_pool_size=50
task.queue_capacity=1000
task.keep_alive_seconds=60

第四步:采用注解的方式在注入要使用的类(org.springframework.core.task.TaskExecutor;)

@autowired

private TaskExecutor taskExecutor;

第五步:使用(我这里是新开了一个线程更新停留时间)

public void updateStayTime(String sessionId,String ip){
   try {      
   taskExecutor.execute(new Runnable() {        
       public void run() {        
         //这里编写处理业务代码  
         statisticDao.updateStayTime(sessionId,ip);        
       }    
     });  
 } catch (Exception e) {    
     e.printStackTrace();  
 }
}

注意:使用步骤基本是固定的,也可以使用其他工具,把关键类注入spring容器中就可以了。

以上是关于160607springmvc+spring使用taskExecutor的主要内容,如果未能解决你的问题,请参考以下文章

Spring+SpringMvc+Mybatis框架集成搭建教程三(框架整合测试程序开发)

Spring+SpringMVC+MyBatis集成(SSM)

Spring+SpringMVC+MyBatis集成(SSM)

springmvc+mybatis+spring 整合

springmvc+mybatis+spring 整合

springmvc+mybatis+spring 整合 bootstrap