Je ne parviens pas à déployer une application Spring Boot + Spring Data sur Google App Engine et à connecter l'application à une base de données Google CloudSql (MySQL).Spring Boot + Données Spring sur GAE avec CloudSql - Connexion à la base de données
L'application GAE et l'instance CloudSql se trouvent dans le même projet.
Je suis capable d'exécuter l'application entière et de me connecter à CloudSql depuis localhost sans problème.
Spring Boot sans connexion à la base de données fonctionne correctement sans erreur sur GAE. L'ajout de données de printemps déclenche une erreur "com.mysql.cj.jdbc.exceptions.CommunicationsException: échec de liaison de communication".
Dans le pom.xml j'ai inclus:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
<dependency>
<groupId>com.google.cloud.sql</groupId>
<artifactId>mysql-socket-factory</artifactId>
<version>1.0.2</version>
</dependency>
Aussi, j'ai essayé d'utiliser uniquement la dépendance mysql:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>6.0.6</version>
</dependency>
Dans mes recherches, je ne l'ai pas trouvé de bon des exemples ou des problèmes liés à Spring Boot + Spring Data + GAE + CloudSql.
Quels sont les paramètres corrects pour se connecter à une base de données CloudSql dans le fichier application.properties? Je l'ai essayé ce qui suit, mais tous ont jeté diverses erreurs:
spring.jpa.hibernate.ddl-auto:none
# tried with GoogleDriver and without:
# spring.datasource.driver-class-name=com.mysql.jdbc.GoogleDriver
# urls configs attempted:
# spring.datasource.url=jdbc:mysql://google/**db-name**?cloudSqlInstance=***instance-name***b&socketFactory=com.google.cloud.sql.mysql.SocketFactory
# spring.datasource.url=jdbc:mysql://***instance-name***/**db-name**?user=root
# spring.datasource.url=jdbc:mysql://localhost:3306/**db-name**
spring.datasource.url=jdbc:mysql://127.0.0.1:3306:3306/**db-name**
# spring.datasource.url=jdbc:mysql://***mysql ip address***:3306/**db-name**
spring.datasource.username=***user***
spring.datasource.password=***password***
J'ai exactement le même problème. Je l'ai regardé pendant des siècles. Avez-vous trouvé une solution? – Stevo
Encore un problème pour moi. J'ai trouvé ce numéro, auquel je suis abonné: https://github.com/spring-cloud/spring-cloud-connectors/issues/191 – Rayquan