Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in
Toggle navigation
T
tanpu-community
Project
Project
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
探普后端
tanpu-community
Commits
08895f84
Commit
08895f84
authored
Oct 26, 2021
by
张辰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test async
parent
34e69d74
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
46 additions
and
3 deletions
+46
-3
ExecutorConfig.java
.../main/java/com/tanpu/community/config/ExecutorConfig.java
+32
-0
TraceTestService.java
...in/java/com/tanpu/community/service/TraceTestService.java
+14
-3
No files found.
community-service/src/main/java/com/tanpu/community/config/ExecutorConfig.java
0 → 100644
View file @
08895f84
package
com
.
tanpu
.
community
.
config
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.sleuth.instrument.async.LazyTraceAsyncTaskExecutor
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.core.task.AsyncTaskExecutor
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
org.springframework.stereotype.Component
;
import
java.util.concurrent.Executor
;
import
java.util.concurrent.ThreadPoolExecutor
;
@Component
@Configuration
public
class
ExecutorConfig
{
@Bean
public
AsyncTaskExecutor
asyncTaskExecutor
()
{
ThreadPoolTaskExecutor
executor
=
new
ThreadPoolTaskExecutor
();
executor
.
setCorePoolSize
(
2
);
executor
.
setMaxPoolSize
(
5
);
executor
.
setQueueCapacity
(
50
);
executor
.
setKeepAliveSeconds
(
10
);
// rejection-policy:当pool已经达到max size的时候,如何处理新任务
// CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行
executor
.
setRejectedExecutionHandler
(
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
executor
.
initialize
();
return
executor
;
}
}
community-service/src/main/java/com/tanpu/community/service/TraceTestService.java
View file @
08895f84
...
@@ -5,14 +5,15 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -5,14 +5,15 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.BeanFactory
;
import
org.springframework.beans.factory.BeanFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.cloud.sleuth.instrument.async.LazyTraceAsyncTaskExecutor
;
import
org.springframework.cloud.sleuth.instrument.async.LazyTraceAsyncTaskExecutor
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.PostConstruct
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.concurrent.atomic.AtomicInteger
;
@Service
//
@Service
@Slf4j
//
@Slf4j
public
class
TraceTestService
{
public
class
TraceTestService
{
@Autowired
@Autowired
...
@@ -36,6 +37,17 @@ public class TraceTestService {
...
@@ -36,6 +37,17 @@ public class TraceTestService {
count
=
new
AtomicInteger
(
0
);
count
=
new
AtomicInteger
(
0
);
}
}
@Async
(
"asyncTaskExecutor"
)
public
void
testTraceIdAsync
(
int
i
)
{
try
{
Thread
.
sleep
(
1000
);
log
.
info
(
"async count is "
+
i
);
}
catch
(
Exception
e
)
{
}
}
public
void
testTraceId
()
{
public
void
testTraceId
()
{
Integer
c
=
count
.
incrementAndGet
();
Integer
c
=
count
.
incrementAndGet
();
log
.
info
(
"parent count is "
+
c
);
log
.
info
(
"parent count is "
+
c
);
...
@@ -55,6 +67,5 @@ public class TraceTestService {
...
@@ -55,6 +67,5 @@ public class TraceTestService {
}
}
});
});
}
}
}
}
}
}
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