Solucionado (ver solução)
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.