У меня есть приложение springbot 1.x с spring-boot-starter-data-jpa.В этом приложении есть свойства application.properties с данными для подключения, например
spring.datasource.url=jdbc:mysql://localhost/mydb
spring.datasource.username=mydb
spring.datasource.password=mydb
. Я могу развернуть это приложение в aws эластичном бобовом стебле, и все работает нормально.Эластичный beanstalk запускается с профилем EB для application-EB.properties
-Dspring.profiles.active=EB
Конфигурация источника данных настроена на свойства среды эластичного beanstalk, такие как
SPRING_DATASOURCE_PASSWORD --> password_into_beanstalk
SPRING_DATASOURCE_URL --> jdbc:mysql://rds_into_aws/rds_into_aws
SPRING_DATASOURCE_USERNAME --> username_into_beanstalk
Я перенес это приложение в springboot2.X, нокогда развернут в эластичный beanstalk, не может подключиться к базе данных.
org.springframework.jdbc.support.MetaDataAccessException: Could not get Connection for extracting meta-data; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
Рабочий профиль тоже EB, и я вижу в журнале
[localhost-startStop-1] c.m.e.h.a.c.SpringServletInitializer : The following profiles are active: EB
Я предполагаю, что свойства среды beanstalkне переопределяет конфигурацию источника данных.
Если я установлю значения источника данных rds в application.properties, приложение сможет подключиться к базе данных.
Кто-нибудь сталкивается с такой же проблемой или знает, что происходит?