Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Ordem de solução dos logs

Pessoal, Tive esse problema no código e já consegui resolver comba ajuda do Gabriel, mas ainda estou com uma dúvida. Como foi possível identificar que o erro era a falha de conexão ao mysql casou os outros erros? Nesse caso ele não deveria estar em cima e não por último? https://gist.github.com/letavs/e3041c9b95f5188aba97e84331237084

4 respostas

Oi Leandro, tudo bem ?

Talvez, ele já tenha passado por isso, mas pelo erro que está sendo acusado ele indica que o problema está sendo abrir a conexão com o banco de dados, nisso temos que ver o motivo de ter chego a esse ponto.

solução!

Boa tarde, Leandro! Como vai?

Eu não sou o Mister M, mas vou revelar esse segredo para te tirar das trevas e te trazer para a luz!

A primeira linha do seu erro diz:

HTTP Status 500 - Request processing failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Could not open connection

Ela diz que não foi possível abrir uma EntityManager pq não conseguiur abrir uma conexão. E, se vc observar essa exception é do tipo org.hibernate.exception.JDBCConnectionException, lembrando que o JDBC lida como BD. Ou seja, a partir daqui já dá pra saber que o problema ocorreu pq a conexão com seu BD não foi estabelecida. O que falta verificar e entender é o motivo.

Pra descobrir a causa raiz, ou seja, onde o problema se originou, vc sempre irá precisar descer na stacktrace do problema!

Tanto isso é verdade que na stacktrace que vc postou vc pode ver que a cada nova exception que aparece na stacktrace aparece o termo root cause.

Por fim, pra resolver o problema, eu verifiquei que a última exception a aparecer na stacktrace foi:

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Client does not support authentication protocol requested by server; consider upgrading MySQL client

Daí eu copiei esse trecho da stacktrace, joguei no Google e encontrei a solução que te passei.

Saber analisar a stacktrace é algo mto importante de ser observado para que o desenvolvedor se aprimore e passe a "falar grosso" mostrando que entende os pormenores do que está acontecedo!

Qualquer dúvida se algo não tiver ficado claro é só falar, Leandro!

Grande abraço e bons estudos!

Fala Matheus, obrigado pelo seu comentário.

Gabriel, você não é o "Mister M", mas é ótimo em desvendar os mistérios do Spring MVC. hehehe.

Ficou bem entendido agora. Muito obrigado pelo suporte.

Que bom que entendeu, Leandro!

Grande abraço e bons estudos!