Skip to content

Commit 099dd45

Browse files
Copilotslachiewicz
andcommitted
Fix thread naming in Java 21+ virtual thread implementation
Co-authored-by: slachiewicz <[email protected]>
1 parent bb6e150 commit 099dd45

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/main/java21/org/codehaus/plexus/archiver/zip/ConcurrentJarCreatorExecutorServiceFactory.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import java.util.concurrent.ExecutorService;
2121
import java.util.concurrent.Executors;
22+
import java.util.concurrent.ThreadFactory;
2223
import java.util.concurrent.atomic.AtomicInteger;
2324

2425
/**
@@ -32,7 +33,11 @@ public class ConcurrentJarCreatorExecutorServiceFactory {
3233
static ExecutorService createExecutorService(int poolSize) {
3334
int poolCount = POOL_COUNTER.incrementAndGet();
3435
AtomicInteger threadCounter = new AtomicInteger();
35-
return Executors.newThreadPerTaskExecutor(
36-
Thread.ofVirtual().name("plx-arch-" + poolCount + "-" + threadCounter.incrementAndGet()).factory());
36+
ThreadFactory threadFactory = r -> {
37+
return Thread.ofVirtual()
38+
.name("plx-arch-" + poolCount + "-" + threadCounter.incrementAndGet())
39+
.unstarted(r);
40+
};
41+
return Executors.newThreadPerTaskExecutor(threadFactory);
3742
}
3843
}

0 commit comments

Comments
 (0)