Код: Выделить всё
public static void joinThreads(Thread... threadList) {
try {
for (Thread thread : threadList) {
if (thread == null) {
continue;
}
thread.join();
}
} catch (InterruptedException e) {
log.error("Virtual thread task exception", e);
throw new BizException(CodeEnum.INTERNAL_BUSINESS_FAIL, "Virtual thread task was interrupted");
}
}
Код: Выделить всё
ERROR com.xmonecode.tccompass.common.utils.VirtualThreadUtil - Virtual thread task exception java.lang.InterruptedException: null
at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1100)
at java.base/java.util.concurrent.CountDownLatch.await(CountDownLatch.java:230)
at java.base/java.lang.VirtualThread.joinNanos(VirtualThread.java:824)
at java.base/java.lang.Thread.join(Thread.java:2061)
at java.base/java.lang.Thread.join(Thread.java:2154)
at com.xmonecode.tccompass.common.utils.VirtualThreadUtil.joinThreads(VirtualThreadUtil.java:40)
at com.xmonecode.tccompass.common.utils.VirtualThreadUtil.joinStartVirtualThread(VirtualThreadUtil.java:70)
at com.xmonecode.tccompass.interceptor.RebateInterceptor.preHandle(RebateInterceptor.java:45)
at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:146)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1084)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
Дополнительная информация:
Код: Выделить всё
JDK Version: zulu-openjdk:21
Framework: Spring Boot
Exception Location: Occurs during CountDownLatch.await() and VirtualThread.joinNanos() calls
Environment: Running in a containerized setup, with automatic restart on crash
Кто-нибудь сталкивался с подобной проблемой или может ли кто-нибудь дать рекомендации по решению этой проблемы?
p>
Заранее спасибо!
Подробнее здесь: https://stackoverflow.com/questions/785 ... -threads-f