Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
15
respostas

Erro ao acessar endpoints

Boa noite apos iniciar a aplicacao com sucesso, tentei acessar o endpoint topicos e actuator, e cai no erro abaixo:

2022-05-08 20:31:07.107 WARN 1134 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1045, SQLState: 28000 2022-05-08 20:31:07.108 ERROR 1134 --- [nio-8080-exec-3] o.h.engine.jdbc.spi.SqlExceptionHelper : Access denied for user 'forum'@'localhost' (using password: YES) 2022-05-08 20:31:07.111 ERROR 1134 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection] with root cause

java.sql.SQLException: Access denied for user 'forum'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.20.jar!/:8.0.20]

15 respostas

todas as permissões estão validas?

Bom dia Sandro,

Não entendi o questionamento, mas entendo que sim, fiz o mesmo processo que orientou nas aulas sem alterar nada. Poderia ajudar pra continuar com o curso por favor?

Oi, Arisson Bom dia, tudo bem?

O erro apontando no log esta relacionado a camada de persistência de dados e comunicação com o database. Preciso que você me informe em qual momento do curso você esta, se essa é a primeira subida do ambiente ou se o erro ocorreu após alguma mudança.

É importante saber em qual S.O você esta subindo o ambiente e qual é a versão do Java que esta utilizando.

Você esta executando o acesso em http://localhost:8080/topicos e http://localhost:8080/actuator após subir os containers mysql-forum-api e redis-forum-api com o docker-compose?

Estarei aguardando sua reposta.

Abraços e bons estudos!

Ola Kleber,

Estou no modulo 1 na aula "Externalizando metricas com Actuator".

Estou utilizando um Mac OS. Após subir o docker com redis e mysql, subi a aplicaçao pelo start.sh e retorna 404 ao tentar acessar os endpoints do actuator e topicos:

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed May 18 22:14:32 BRT 2022 There was an unexpected error (type=Not Found, status=404).

Poderiam auxiliar?

Oi, Arisson. Tudo bem?

Arisson, desculpe pela demora na resposta.

Vamos fazer um checklist aqui, asssim vamos remover hipóteses e tentar rastrear a causa raiz do problema, ok? Segue abaixo a lista de checagem, valide se tudo isto esta ok, por favor.

Containers mysql-forum-api e redis-forum-api em execução

docker container ps | egrep "mysql|redis"

Aplicação com novo artefato buildado após a inclusão do actuator e micrometer, para buildar o novo artefato, rode o comando abaixo no terminal, dentro do diretório app:

mvn clean package

Após isso, rode o comando abaixo para verificar se as portas do redis e mysql estão em bind com seu localhost

netstat -nltp | egrep '3306|6379'

Suba a aplicação e verifique se a porta 8080 esta em estado listen também

netstat -nltp | grep 8080

Aguardo seu retorno, vou monitorar esse tópico até que tudo de certo para você.

Abraços e bons estudos!

Segue logs de execuçao dos passos:

docker container ps | egrep "mysql|redis" 96ac9d91f6f6 mysql:5.7 "docker-entrypoint.s…" 4 weeks ago Up 2 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp mysql-forum-api cef4a0e92d32 redis "docker-entrypoint.s…" 4 weeks ago Up 2 minutes 0.0.0.0:6379->6379/tcp redis-forum-api

mvn clean package Results: [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0

netstat -nltp | egrep '3306|6379' (parece que deu erro no comando aqui)

netstat: option requires an argument -- p Usage: netstat [-AaLlnW] [-f address_family | -p protocol] netstat [-gilns] [-f address_family] netstat -i | -I interface [-w wait] [-abdgRtS] netstat -s [-s] [-f address_family | -p protocol] [-w wait] netstat -i | -I interface -s [-f address_family | -p protocol] netstat -m [-m] netstat -r [-Aaln] [-f address_family] netstat -rs [-s]

Alguma Sugestão?

Oi, Arisson. Boa noite, tudo bem?

Te passei o comando que deu erro com aspas simples, mas o primeiro comando já trouxe o resultado esperado.

Os dois containers necessários estão em execução e a aplicação foi buildada com êxito, o que esta faltando é a execução dela via eclipse pelo arquivo start.sh, utilize o botão run do eclipse para executar a aplicação

Depois de executar a aplicação, certifique-se de que ela esta em execução pelo log que sairá em um console, depois verifique se a porta 8080/TCP esta em estado de listen com o comando abaixo:

netstat -nltp | grep 8080

Depois verifique o acesso para localhost:8080/topicos via browser.

Aguardo seu retorno, bon estudos!

após executar os passos

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Mon Jun 06 20:19:41 BRT 2022 There was an unexpected error (type=Internal Server Error, status=500).

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Mon Jun 06 20:19:41 BRT 2022 There was an unexpected error (type=Internal Server Error, status=500).

log da applicação

2022-06-06 20:19:32.788 ERROR 1271 --- [nio-8080-exec-2] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Exception during pool initialization.

java.sql.SQLException: Access denied for user 'forum'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:477) ~[HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:560) ~[HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:115) ~[HikariCP-3.4.5.jar!/:na] at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[HikariCP-3.4.5.jar!/:na] at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122) ~[hibernate-core-5.4.17.Final.jar!/:5.4.17.Final]

2022-06-06 20:19:40.348 WARN 1271 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 1045, SQLState: 28000 2022-06-06 20:19:40.349 ERROR 1271 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : Access denied for user 'forum'@'localhost' (using password: YES) 2022-06-06 20:19:40.396 ERROR 1271 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection] with root cause

java.sql.SQLException: Access denied for user 'forum'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) ~[mysql-connector-java-8.0.20.jar!/:8.0.20] at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836) ~[mysql-connector-java-8.0.20.jar!/:8.0.20]

Oi Arison, pela exceção a aplicação java não consegue se conectar com mysql :(

Só para garantir, vc subiu o mysql com docker-compose, correto?

Boa noite,

Sim, segue o ultimo status dos containers antes de subir a app

redis-forum-api | 1:M 08 Jun 2022 00:31:59.119 * Ready to accept connections

mysql-forum-api | 2022-06-08T00:32:02.319831Z 0 [Note] mysqld: ready for connections.

mysql-forum-api | Version: '5.7.38' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server (GPL)

OI Arisson, Kleber e eu testamos o projeto e acreditamos que é algo relacionado com o seu SO. Vc poderia testar no linux ou windows ? Existe essa possibilidade?

abs, Nico

solução!

Oi, Arison. Tudo bem?

Você conseguiu resolver o problema?

Existe um tópico aqui no fórum com uma dica preciosa para usuários de MAC, acessa esse link aqui e verifica se era esse o problema, por favor.

Abraços.