|
31 | 31 | import java.net.Socket; |
32 | 32 | import java.util.concurrent.ExecutorService; |
33 | 33 | import java.util.concurrent.Executors; |
| 34 | +import java.util.concurrent.ThreadFactory; |
| 35 | +import java.util.concurrent.atomic.AtomicLong; |
| 36 | + |
34 | 37 | import org.junit.jupiter.api.extension.AfterAllCallback; |
35 | 38 | import org.junit.jupiter.api.extension.AfterEachCallback; |
36 | 39 | import org.junit.jupiter.api.extension.BeforeAllCallback; |
@@ -105,7 +108,8 @@ public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext con |
105 | 108 | @Override |
106 | 109 | public void beforeAll(ExtensionContext context) { |
107 | 110 | if (TestUtils.isNetty()) { |
108 | | - EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(NioIoHandler.newFactory()); |
| 111 | + ThreadFactory tf = new NamedThreadFactory(context.getTestClass().get().getSimpleName() + "-"); |
| 112 | + EventLoopGroup eventLoopGroup = new MultiThreadIoEventLoopGroup(tf, NioIoHandler.newFactory()); |
109 | 113 | store(context) |
110 | 114 | .put("nettyEventLoopGroup", eventLoopGroup); |
111 | 115 | TestUtils.eventLoopGroup(eventLoopGroup); |
@@ -165,4 +169,29 @@ public void close() { |
165 | 169 | this.executorService.shutdownNow(); |
166 | 170 | } |
167 | 171 | } |
| 172 | + |
| 173 | + private static class NamedThreadFactory implements ThreadFactory { |
| 174 | + |
| 175 | + private final ThreadFactory backingThreadFactory; |
| 176 | + |
| 177 | + private final String prefix; |
| 178 | + |
| 179 | + private final AtomicLong count = new AtomicLong(0); |
| 180 | + |
| 181 | + private NamedThreadFactory(String prefix) { |
| 182 | + this(Executors.defaultThreadFactory(), prefix); |
| 183 | + } |
| 184 | + |
| 185 | + private NamedThreadFactory(ThreadFactory backingThreadFactory, String prefix) { |
| 186 | + this.backingThreadFactory = backingThreadFactory; |
| 187 | + this.prefix = prefix; |
| 188 | + } |
| 189 | + |
| 190 | + @Override |
| 191 | + public Thread newThread(Runnable r) { |
| 192 | + Thread thread = this.backingThreadFactory.newThread(r); |
| 193 | + thread.setName(prefix + count.getAndIncrement()); |
| 194 | + return thread; |
| 195 | + } |
| 196 | + } |
168 | 197 | } |
0 commit comments