Веб-приложение [ROOT], похоже, запустило поток с именем [reactor-http-epoll-1], но не смогло его остановить.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Веб-приложение [ROOT], похоже, запустило поток с именем [reactor-http-epoll-1], но не смогло его остановить.

Сообщение Anonymous »

Я использую Spring WebFlux, и ответ на асинхронные вызовы различных API работает нормально, но при остановке приложения возникает следующая проблема:

Код: Выделить всё

2023-09-27 16:30:16.572[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait0(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:182)
app//io.netty.channel.epoll.EpollEventLoop.epollWait(EpollEventLoop.java:302)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:366)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.572[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.573[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-3] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.573[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-4] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.573[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-5] but has failed to stop it. This is very likely to create a memory leak.  Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.573[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-6] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.574[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-7] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.574[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-8] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.574[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-9] but has failed to stop it. This is very likely to create a memory leak.  Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.574[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-10] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.574[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-11] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.575[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-12] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.575[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-13] but has failed to stop it. This is very likely to create a memory leak.  Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.575[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-14] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.575[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-15] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
[2m2023-09-27 16:30:16.575[0;39m [33m WARN[0;39m [35m24696[0;39m [2m---[0;39m [2m[on(2)-127.0.0.1][0;39m [36mo.a.c.loader.WebappClassLoaderBase      [0;39m [2m:[0;39m The web application [ROOT] appears to have started a thread named [reactor-http-epoll-16] but has failed to stop it. This is very likely to create a memory leak.  Stack trace of thread:
app//io.netty.channel.epoll.Native.epollWait(Native Method)
app//io.netty.channel.epoll.Native.epollWait(Native.java:209)
app//io.netty.channel.epoll.Native.epollWait(Native.java:202)
app//io.netty.channel.epoll.EpollEventLoop.epollWaitNoTimerChange(EpollEventLoop.java:306)
app//io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:363)
app//io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
[email protected]/java.lang.Thread.run(Thread.java:833)
Это создает множество потоков для обработки запроса моего REST API.
Это мой pom.xml

Код: Выделить всё

4.0.0
com.myapp.test
spring-webclient
0.0.1-SNAPSHOT

org.springframework.boot
spring-boot-starter-parent
2.7.9


1.8



org.springframework.boot
spring-boot-starter


org.springframework.boot
spring-boot-starter-test


org.springframework.boot
spring-boot-starter-web


org.springframework.boot
spring-boot-starter-webflux


com.fasterxml.jackson.core
jackson-databind






org.springframework.boot
spring-boot-maven-plugin



repackage






org.apache.maven.plugins
maven-compiler-plugin

1.8
1.8





Это мой контроллер:

Код: Выделить всё

@RestController
public class PapiController {

@Autowired
private WebClientService clientService;

@GetMapping(value="/api")
public Mono queryApis(){
return this.clientService.callApis();
}

}
Это моя услуга:

Код: Выделить всё

@Service
public class WebClientService {

private final WebClient webClient1;
private final WebClient webClient2;

public WebClientService() {
this.webClient1 = WebClient.create("https://pokeapi.co");
this.webClient2 = WebClient.create("https://cataas.com");
}

public Mono callApis(){
Mono pokemonResponse = this.callPokemonApi();
Mono  catResponse = this.callCatApi();
return Mono.zip(pokemonResponse, catResponse).map(tuple -> {
String pokemon = tuple.getT1();
String cat = tuple.getT2();

String response = pokemon + "***" + cat;

return response;
});
}

private Mono callPokemonApi(){
return this.webClient1
.get()
.uri("/api/v2/pokemon/salamence")
.retrieve()
.bodyToMono(String.class);
}

private Mono callCatApi(){
return this.webClient2
.get()
.uri("/api/cats")
.retrieve()
.bodyToMono(String.class);
}
}
Есть ли способ правильно закрыть WebClient и Threads или чего-то еще не хватает?

Подробнее здесь: https://stackoverflow.com/questions/771 ... actor-http
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»