Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-csf
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xingmin
yd-csf
Commits
2627431d
Commit
2627431d
authored
Mar 19, 2026
by
zhangxingmin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
push
parent
9b72debe
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
43 additions
and
42 deletions
+43
-42
yd-csf-service/src/main/java/com/yd/csf/service/config/AsyncConfig.java
+43
-42
No files found.
yd-csf-service/src/main/java/com/yd/csf/service/config/AsyncConfig.java
View file @
2627431d
...
@@ -39,54 +39,54 @@ public class AsyncConfig {
...
@@ -39,54 +39,54 @@ public class AsyncConfig {
return
executor
;
return
executor
;
}
}
/**
* 通用异步任务线程池
*/
@Bean
(
"commonAsyncExecutor"
)
public
Executor
commonAsyncExecutor
()
{
ThreadPoolTaskExecutor
executor
=
new
ThreadPoolTaskExecutor
();
executor
.
setCorePoolSize
(
5
);
executor
.
setMaxPoolSize
(
10
);
executor
.
setQueueCapacity
(
50
);
executor
.
setThreadNamePrefix
(
"common-async-"
);
executor
.
setRejectedExecutionHandler
(
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
executor
.
setWaitForTasksToCompleteOnShutdown
(
true
);
executor
.
setAwaitTerminationSeconds
(
30
);
executor
.
setKeepAliveSeconds
(
30
);
executor
.
initialize
();
return
executor
;
}
// /**
// /**
// * 通用异步任务线程池
// * 通用异步任务线程池
// * @return
// */
// */
// @Bean(
name =
"commonAsyncExecutor")
// @Bean("commonAsyncExecutor")
// public
ThreadPoolTask
Executor commonAsyncExecutor() {
// public Executor commonAsyncExecutor() {
// ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// // 设置核心线程数、最大线程数、队列容量等参数...
// executor.setCorePoolSize(5);
// executor.setCorePoolSize(10);
// executor.setMaxPoolSize(10);
// executor.setMaxPoolSize(20);
// executor.setQueueCapacity(50);
// executor.setQueueCapacity(100);
// executor.setThreadNamePrefix("common-async-");
// executor.setThreadNamePrefix("common-async-");
//
// executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
// // 设置 TaskDecorator,用于传递 RequestAttributes
// executor.setWaitForTasksToCompleteOnShutdown(true);
// executor.setTaskDecorator(runnable -> {
// executor.setAwaitTerminationSeconds(30);
// // 获取当前线程的 RequestAttributes
// executor.setKeepAliveSeconds(30);
// RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
// return () -> {
// try {
// // 将 RequestAttributes 设置到子线程中
// RequestContextHolder.setRequestAttributes(attributes);
// runnable.run();
// } finally {
// // 任务完成后清空,避免内存泄漏
// RequestContextHolder.resetRequestAttributes();
// }
// };
// });
//
// executor.initialize();
// executor.initialize();
// return executor;
// return executor;
// }
// }
/**
* 通用异步任务线程池
* @return
*/
@Bean
(
name
=
"commonAsyncExecutor"
)
public
ThreadPoolTaskExecutor
commonAsyncExecutor
()
{
ThreadPoolTaskExecutor
executor
=
new
ThreadPoolTaskExecutor
();
// 设置核心线程数、最大线程数、队列容量等参数...
executor
.
setCorePoolSize
(
10
);
executor
.
setMaxPoolSize
(
20
);
executor
.
setQueueCapacity
(
100
);
executor
.
setThreadNamePrefix
(
"common-async-"
);
// 设置 TaskDecorator,用于传递 RequestAttributes
executor
.
setTaskDecorator
(
runnable
->
{
// 获取当前线程的 RequestAttributes
RequestAttributes
attributes
=
RequestContextHolder
.
getRequestAttributes
();
return
()
->
{
try
{
// 将 RequestAttributes 设置到子线程中
RequestContextHolder
.
setRequestAttributes
(
attributes
);
runnable
.
run
();
}
finally
{
// 任务完成后清空,避免内存泄漏
RequestContextHolder
.
resetRequestAttributes
();
}
};
});
executor
.
initialize
();
return
executor
;
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment