Я пытаюсь обновить источник данных БД, если изменяется переменная среды для DB.URL. Ниже мой класс,
@SpringBootApplication
@ConfigurationProperties(value="myapp")
public class MyApp {
@Value("${myapp.db.url}")
String databaseURL;
@Value("${myapp.db.username}")
String databaseUsername;
@Value("${myapp.db.password}")
String databasePassword;
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
@Bean
@RefreshScope
@Primary
public DataSource getDataSource() {
return DataSourceBuilder.create().username(databaseUsername).password(databasePassword).url(databaseURL)
.driverClassName("org.postgresql.Driver").build();
}
}
Но когда я обновляю среду DB.URL, он не делает запрос к новой БД.
Я сослался на документацию, поскольку можно обновить источник данных, http://projects.spring.io/spring-cloud/spring-cloud.html#_refresh_scope
Чего не хватает в моем классе?
RefreshScope
в самой конфигурации. - person Darren Forsythe   schedule 08.08.2017