Мне нужен способ динамически указать блок персистентности в EJB.
Упрощенный пример:
У меня есть приложение, использующее несколько баз данных в качестве хранилищ данных. Каждое из хранилищ данных структурно одинаково. В зависимости от подключения клиента к приложению мне нужно получить доступ к данным из конкретное хранилище данных.
Поэтому я хотел бы использовать тот же EJB, чтобы бизнес-логика не дублировалась, но затем просто выберите правильный блок постоянного хранения на основе клиента.
До этого момента я только непосредственно ввел администратор сущности с жестким кодированием имени единицы сохранения. Есть ли способ, которым я могу динамически внедрить диспетчер сущности с требуемым модулем постоянства, прикрепленным к EJB? Кроме того, можно ли динамически добавлять единицы персистентности во время выполнения? В настоящее время я должен указать блок персистентности в файле persistence.xml. В идеале я хотел бы создавать пулы на сервере jdbc/db1, jdbc/db2 и т.д., Как требуется во время работы системы. Затем просто добавьте их в центральную клиентскую базу данных и привяжите ее к клиенту, чтобы при подключении клиента он проверял имя пула и использовал его при вызове EJB для получения единицы сохранения.
Я по-прежнему новичок в разработке Java EE. Любая помощь будет принята с благодарностью.