第一步:导入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容器中就可以了。