Использование AbstractRoutingDataSource для динамического изменения схемы/каталога базы данных

В соответствии с этой статьей вы можете использовать AbstractRoutingDataSource из Spring Framework для динамического изменения источника данных, используемого приложением.

Однако используемые источники данных определяются конфигурацией, а не программно. Есть ли способ настройки источников данных, которые будут использоваться во время выполнения?

Насколько масштабируемо это решение, т.е. каковы ограничения в количестве источников данных?

Спасибо!

Ответ 1

Я реализовал этот подход для 30 источников данных, и они в настоящее время работают в производственной среде без каких-либо проблем. Если вы используете JPA, вы можете посмотреть мою конфигурацию:

dynamic-datasource-routing