Для моего нового проекта я построил базовый rest api для возврата данных по запросу клиента. Тем не менее, клиент должен выбрать базу данных по своему выбору в качестве параметра запроса HTTP GET.(Spring-boot & Spring data jpa) Как изменить источник данных на лету?
Теперь мой вопрос в том, что я не знаю, как это сделать с помощью Sprint-boot. Я знаю, что мы можем предоставить много разных источников данных, но как мы можем изменить нужный источник данных после проверки запроса?
Вот мои источники данных конфигурации, которая работает хорошо:
@Configuration
public class DataSourceConfig {
@Bean
@Primary
@ConfigurationProperties(prefix="datasource.dev21")
public DataSource dev21DataSource() throws SQLException {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix="datasource.dev22")
public DataSource dev22DataSource() throws SQLException {
return DataSourceBuilder.create().build();
}
}
Если я хочу, чтобы переключаться между dev21 и dev22 динамически, что я должен делать? Я прочитал статьи о классе AbstractRoutingDataSource, но я не знаю, как его использовать.
Пожалуйста, посмотрите здесь: [Dynamic переключение соединения с базой данных и многоуровневое применение приложений с маршрутизацией базы данных] (http://springrules.blogspot.com/2017/08/dynamic-database-co switching.html-ть соединение) – vRaptor