1
resposta

Erro de Conexão no Cliente Console - java.net.ConnectException

Olá, pessoal!

Estou enfrentando um problema ao tentar conectar o meu cliente console ao servidor backend da aplicação Adopet. Ao realizar uma operação que envolve uma requisição HTTP, estou recebendo o seguinte erro:

java.net.ConnectException at java.net.http/jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:956) at java.net.http/jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:133) at br.com.alura.service.PetService.dispararRequisicaoGet(PetService.java:99) at br.com.alura.service.PetService.listarPetsDoAbrigo(PetService.java:24) at br.com.alura.AdopetConsoleApplication.main(AdopetConsoleApplication.java:32) Caused by: java.net.ConnectException at java.net.http/jdk.internal.net.http.common.Utils.toConnectException(Utils.java:1069) at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:227) at java.net.http/jdk.internal.net.http.PlainHttpConnection.checkRetryConnect(PlainHttpConnection.java:280) at java.net.http/jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$2(PlainHttpConnection.java:238) at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:978) at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:955) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:554) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1817) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1575) Caused by: java.nio.channels.ClosedChannelException at java.base/sun.nio.ch.SocketChannelImpl.ensureOpen(SocketChannelImpl.java:204) at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:958) at java.net.http/jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$1(PlainHttpConnection.java:210) at java.base/java.security.AccessController.doPrivileged(AccessController.java:571) at java.net.http/jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:212) ... 9 more

Isso parece indicar que o cliente não está conseguindo se conectar ao servidor. Algumas coisas que já verifiquei:

Servidor backend está em execução - O servidor está rodando corretamente e ouvindo na porta 8080.

URL de conexão está correta - A URL usada no código está configurada para http://localhost:8080, mas o erro persiste.

Firewall e antivírus - Desativei o firewall e o antivírus, mas o erro ainda ocorre.

Alguém já passou por algo semelhante? O que mais eu poderia verificar para resolver esse problema?

Agradeço desde já!

1 resposta

Olá, Matheus! Como vai?

Vamos tentar algumas abordagens para identificar e resolver o problema.

  1. Verifique se o servidor está realmente ouvindo na porta correta: Você mencionou que o servidor está rodando na porta 8080. Tente usar um comando como netstat -an no terminal para verificar se a porta 8080 está realmente aberta e em escuta no seu sistema.

  2. Teste a conexão com uma ferramenta externa: Utilize ferramentas como curl ou Postman para enviar uma requisição HTTP para http://localhost:8080 e veja se você consegue obter uma resposta. Isso pode ajudar a confirmar se o problema é específico do seu cliente console ou se é algo mais geral.

  3. Verifique logs do servidor: Dê uma olhada nos logs do servidor para ver se há alguma mensagem de erro ou aviso que possa indicar o que está acontecendo quando você tenta se conectar.

  4. Verifique a configuração de rede: Certifique-se de que não há outros serviços ou configurações de rede que possam estar interferindo na comunicação entre o cliente e o servidor. Se possível, tente rodar o cliente e o servidor em outra máquina ou em uma VM para ver se o problema persiste.

  5. Configurações de proxy: Verifique se há alguma configuração de proxy que possa estar afetando a conexão. Às vezes, configurações de proxy no sistema ou no Java podem interferir na comunicação de rede.

  6. Reinicie o servidor: Às vezes, simplesmente reiniciar o servidor pode resolver problemas de conexão, especialmente se o servidor estiver em um estado inconsistente.

Espero que uma dessas sugestões ajude a resolver o problema.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.