2
respostas

Execução de aplicação no Heroku com PostgreSQL

Olá, sou assinante da Alura, mas não estou fazendo este curso. Entrentato, gostaria de lhe pedir que pudesse me ajudar. Eu tenho uma aplicação Spring Boot com REST e JPA no Heroku. Quando acesso a aplicação para invocar o método abaixo recebo o erro Could not open JPA EntityManager for transaction; nested exception is javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection

    @PostMapping("/save")
    public ResponseEntity<?> saveCliente(@RequestBody Cliente cliente){
        repository.save(cliente);
        return new ResponseEntity("Successfully login", new HttpHeaders(), HttpStatus.OK);
    }

Entretanto, se tenho minha aplicação na máquina local, chamando o banco que está no Heroku, tudo funciona certo. Poderia me ajudar, por favor?

2 respostas

Oi Everton,

Você poderia mandar aqui toda a mensagem de erro? Porque esse erro "Unable to acquire JDBC Connection" ainda está meio genérico, vários motivos poderiam levar à impossibilidade de conexão, por exemplo, limite de conexões, URL ou algum detalhe de configuração errada. Às vezes (nem sempre), na mensagem de erro aparece alguma informação a mais que pode ser útil.

Outra dúvida: isso acontece logo no primeiro acesso ao banco que você faz?

Um terceiro ponto a observar é que se funciona com a aplicação na sua máquina, deve ter alguma configuração diferente de uma aplicação pra outra. Vale a pena dar uma olhada cuidadosa pelas configurações de DataSource e Hibernate.

Oi Ana, tudo bem? Acabei conseguindo resolver. No método que eu invoco o save() do repositório anotei ele com @Transactional e funcionou. Desculpe não ter respondido aqui. Mas obrigado pelo retorno. Abraços