TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
一、配置jdbc.properties添加:- #------------ Task ------------2 _$ _6 P9 e) h) @0 q- V% u" Q+ ^
- task.core_pool_size=5- u7 Z+ m8 H6 m8 ?: |2 w
- task.max_pool_size=50
# B9 p; Y O# { U5 C+ }, g/ \/ Q - task.queue_capacity=10001 @& K4 I& {- P0 c$ n a' ]
- task.keep_alive_seconds=60
复制代码
! E& c5 J$ U7 y. C( d; K2 x二、配置spring的applicationContext.xml添加:
- e- i3 N8 f5 l6 c8 b4 q- <bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
0 D I# _% K6 ?0 n6 S' |8 | - <!-- 核心线程数 -->
h p& }# z7 d: }4 G9 Q - <property name="corePoolSize" value="${task.core_pool_size}" />
p" R$ n- G# m; i/ H& B+ K9 } - <!-- 最大线程数 -->
: H# M( m2 j6 E2 b% p& F - <property name="maxPoolSize" value="${task.max_pool_size}" />
( P4 g- I. n, |$ i% f) @. n - <!-- 队列最大长度 -->$ u. @: j* h2 D& E: }/ v
- <property name="queueCapacity" value="${task.queue_capacity}" />
- D, v _. G6 e0 S+ M& m7 @5 W! c - <!-- 线程池维护线程所允许的空闲时间,默认为60s --># Y# T- z1 ?' C
- <property name="keepAliveSeconds" value="${task.keep_alive_seconds}" />! ^( ` J. z+ n
- </bean>
2 U6 }! M& q) I - <!-- 注解式 -->
; _( l. i- S3 Z - <task:annotation-driven />
复制代码 三、在实现层Impl声明并注入:9 ]! C* p4 O, Q! Z: _7 S
- @Resource(name = "taskExecutor")! m/ b% F4 U$ ^8 X3 Z4 d! c( U
- private TaskExecutor taskExecutor;
复制代码 ! a l' {4 r6 r: `2 E
四、在方法里调用:- M6 |. ^: c' |9 B* Q1 I
- try {
/ Y. o0 o' F/ e& k0 `5 E - taskExecutor.execute(new Runnable() {
" i2 u( i7 x/ k9 ~& a0 F: l - public void run() {2 W: v6 e- g5 L- J% \, c
- //这里编写处理业务代码: Q- F* M# c- Y8 k I1 j8 Z# @! V
-
% o7 J$ `8 }( K% g7 n; c* l) ]- b9 h& ~ - }
4 d7 A2 X% G) |7 I! j5 w1 r a6 J. O - });$ A; w3 n7 r6 n
- } catch (Exception e) {3 v( x$ d! _: A$ |
- e.printStackTrace();
4 X. d Q$ J$ c; h1 @ - }
复制代码
+ |; D* `' A K" q4 G; @9 \8 _9 a' R: ~+ @+ L* p3 Y
|
|