Skip to content

Commit 913d186

Browse files
committed
添加线程池进行测试
1 parent b96df28 commit 913d186

File tree

4 files changed

+147
-6
lines changed

4 files changed

+147
-6
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package cn.springcloud.gray.service.b.configuration;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Configuration;
5+
6+
import java.util.concurrent.ArrayBlockingQueue;
7+
import java.util.concurrent.ExecutorService;
8+
import java.util.concurrent.ThreadPoolExecutor;
9+
import java.util.concurrent.TimeUnit;
10+
11+
@Configuration
12+
public class ConcurrentConfiguration {
13+
14+
// @Bean
15+
// public ExecutorServiceGrayAspect executorServiceGrayAspect() {
16+
// return new ExecutorServiceGrayAspect();
17+
// }
18+
19+
20+
@Bean
21+
public ExecutorService executorService() {
22+
return new ThreadPoolExecutor(10, 10, 1, TimeUnit.MINUTES, new ArrayBlockingQueue<>(10));
23+
}
24+
}
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package cn.springcloud.gray.service.b.configuration;
22

33
import cn.springcloud.gray.concurrent.GrayTaskDecorator;
4-
import cn.springcloud.gray.request.RequestLocalStorage;
54
import org.springframework.context.annotation.Bean;
65
import org.springframework.context.annotation.Configuration;
76
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
@@ -11,14 +10,11 @@
1110

1211
/**
1312
* Description:异步任务线程池
14-
*
15-
* @author JianqiangZhao
16-
* @date 2019/1/14
1713
*/
1814
@Configuration
1915
public class TaskConfiguration {
2016
@Bean("taskExecutor")
21-
public Executor taskExecutor(RequestLocalStorage requestLocalStorage) {
17+
public Executor taskExecutor() {
2218
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
2319
executor.setCorePoolSize(100);
2420
executor.setMaxPoolSize(400);
@@ -28,7 +24,7 @@ public Executor taskExecutor(RequestLocalStorage requestLocalStorage) {
2824
executor.setAwaitTerminationSeconds(60);
2925
executor.setThreadNamePrefix("taskExecutor-");
3026
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.DiscardPolicy());
31-
executor.setTaskDecorator(new GrayTaskDecorator(requestLocalStorage));
27+
executor.setTaskDecorator(new GrayTaskDecorator());
3228
return executor;
3329
}
3430
}

spring-cloud-gray-samples/spring-cloud-gray-service-b-sample/src/main/java/cn/springcloud/gray/service/b/rest/TestResource.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public Map<String, Object> restTemplateGet(HttpServletRequest request) {
6363
* test feign invoke service-a
6464
*
6565
* @param version 请求的版本
66+
* @param request 请求
6667
* @return 内容
6768
*/
6869
@RequestMapping(value = "/feignGet", method = RequestMethod.GET)
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
package cn.springcloud.gray.service.b;
2+
3+
import cn.springcloud.gray.request.GrayHttpTrackInfo;
4+
import cn.springcloud.gray.request.LocalStorageLifeCycle;
5+
import cn.springcloud.gray.request.RequestLocalStorage;
6+
import org.junit.After;
7+
import org.junit.Before;
8+
import org.junit.Test;
9+
import org.junit.runner.RunWith;
10+
import org.springframework.beans.factory.annotation.Autowired;
11+
import org.springframework.boot.test.context.SpringBootTest;
12+
import org.springframework.test.context.junit4.SpringRunner;
13+
14+
import java.util.Arrays;
15+
import java.util.concurrent.ExecutionException;
16+
import java.util.concurrent.ExecutorService;
17+
import java.util.concurrent.TimeUnit;
18+
import java.util.concurrent.TimeoutException;
19+
20+
@RunWith(SpringRunner.class)
21+
@SpringBootTest(classes = ServiceBApplication.class)
22+
public class ExecutorServiceGrayAspectTest {
23+
24+
@Autowired
25+
private LocalStorageLifeCycle localStorageLifeCycle;
26+
27+
@Autowired
28+
private ExecutorService executorService;
29+
@Autowired
30+
private RequestLocalStorage requestLocalStorage;
31+
32+
33+
@Before
34+
public void before() {
35+
localStorageLifeCycle.initContext();
36+
}
37+
38+
@After
39+
public void after() {
40+
localStorageLifeCycle.closeContext();
41+
}
42+
43+
44+
@Test
45+
public void testExecute() {
46+
requestLocalStorage.setGrayTrackInfo(new GrayHttpTrackInfo());
47+
executorService.execute(() -> {
48+
System.out.println("323fd");
49+
});
50+
}
51+
52+
@Test
53+
public void testSubmit() {
54+
executorService.submit(() -> {
55+
System.out.println("323fd");
56+
});
57+
}
58+
59+
@Test
60+
public void testSubmit2() {
61+
executorService.submit(() -> {
62+
System.out.println("323fd");
63+
}, "");
64+
}
65+
66+
@Test
67+
public void testSubmit3() {
68+
executorService.submit(() -> {
69+
System.out.println("323fd");
70+
return "";
71+
});
72+
}
73+
74+
75+
@Test
76+
public void testInvokeAll() throws InterruptedException {
77+
executorService.invokeAll(Arrays.asList(() -> {
78+
System.out.println("323fd");
79+
return "";
80+
}, () -> {
81+
System.out.println("323fd");
82+
return "";
83+
}));
84+
}
85+
86+
@Test
87+
public void testInvokeAll2() throws InterruptedException {
88+
executorService.invokeAll(Arrays.asList(() -> {
89+
System.out.println("323fd");
90+
return "";
91+
}, () -> {
92+
System.out.println("323fd");
93+
return "";
94+
}), 10, TimeUnit.SECONDS);
95+
}
96+
97+
98+
@Test
99+
public void testInvokeAny() throws InterruptedException, ExecutionException {
100+
executorService.invokeAny(Arrays.asList(() -> {
101+
System.out.println("323fd");
102+
return "";
103+
}, () -> {
104+
System.out.println("323fd");
105+
return "";
106+
}));
107+
}
108+
109+
@Test
110+
public void testInvokeAny2() throws InterruptedException, ExecutionException, TimeoutException {
111+
executorService.invokeAny(Arrays.asList(() -> {
112+
System.out.println("323fd");
113+
return "";
114+
}, () -> {
115+
System.out.println("323fd");
116+
return "";
117+
}), 10, TimeUnit.SECONDS);
118+
}
119+
120+
}

0 commit comments

Comments
 (0)