Skip to content

Commit 3da0c97

Browse files
committed
Use test class name for thread prefix
1 parent 5da520f commit 3da0c97

File tree

2 files changed

+31
-1
lines changed

2 files changed

+31
-1
lines changed

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,7 @@
774774
<configuration>
775775
<java>
776776
<includes>
777+
<include>src/main/java/com/rabbitmq/AmqpClientTestExtension.java</include>
777778
<include>src/main/java/com/rabbitmq/client/ConnectionFactory.java</include>
778779
<include>src/main/java/com/rabbitmq/client/impl/NettyFrameHandlerFactory.java</include>
779780
<include>src/main/java/com/rabbitmq/client/impl/Environment.java</include>

src/test/java/com/rabbitmq/client/AmqpClientTestExtension.java

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
import java.net.Socket;
3232
import java.util.concurrent.ExecutorService;
3333
import java.util.concurrent.Executors;
34+
import java.util.concurrent.ThreadFactory;
35+
import java.util.concurrent.atomic.AtomicLong;
36+
3437
import org.junit.jupiter.api.extension.AfterAllCallback;
3538
import org.junit.jupiter.api.extension.AfterEachCallback;
3639
import org.junit.jupiter.api.extension.BeforeAllCallback;
@@ -105,7 +108,8 @@ public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext con
105108
@Override
106109
public void beforeAll(ExtensionContext context) {
107110
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());
109113
store(context)
110114
.put("nettyEventLoopGroup", eventLoopGroup);
111115
TestUtils.eventLoopGroup(eventLoopGroup);
@@ -165,4 +169,29 @@ public void close() {
165169
this.executorService.shutdownNow();
166170
}
167171
}
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+
}
168197
}

0 commit comments

Comments
 (0)