Мы разрабатываем веб-приложение Grails, в котором разных пользователей (клиентов) нужно указывать на разные базы данных, содержащие только данные их организации. К сожалению, разделение баз данных является обязательным, и нас просят иметь только 1 веб-приложение для всех.
Однако Grails ожидает, что только один пул источников данных будет подключаться к одной базе данных.
Мы хотим иметь возможность переключать подключения к базе данных для каждого сеанса в зависимости от пользователя, который вошел в систему, где различные подключения считываются из файлов свойств во время инициализации BootStrap ().
До сих пор нам не удалось найти решение, которое, похоже, не имеет условий гонки, нет плагина, который мы можем найти, и, похоже, это не является популярной проблемой.
Нашим наиболее многообещающим было создание настраиваемого динамического источника данных, настроенного в Bootstrap для определения карты организации-> dataSource, и использование закрытия, определенного в Bootstrap, для поиска соответствующего источника данных перед поведением GORM, но это, похоже, вызывает состояние гонки, когда есть это задержка.
Есть ли у кого-нибудь идеи, как это переключение законно может быть выполнено?
Спасибо