Загрузка значений источника данных Spring из свойств приложения, а не из среды - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть приложение 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, приложение сможет подключиться к базе данных.

Кто-нибудь сталкивается с такой же проблемой или знает, что происходит?

...