Динамическое соединение JPA

У меня есть довольно стандартное веб-приложение Java EE6, использующее JPA 2 с внедрением зависимостей, подключающееся к базе данных MySQL, и все работает нормально. Сейчас я бы хотел, чтобы это приложение взаимодействовало с базами данных других приложений, которые мы установили на клиентском сайте, - по сути, действуя как единая точка контроля для установки других наших приложений.

Я борюсь с как лучше всего выполнять взаимодействие с другими базами данных. В идеале я хотел бы создать EntityManager для каждой установки и взаимодействия с использованием JPA, но я не вижу способа это настроить. Например, у меня может быть 5 установок (и, следовательно, базы данных) одного типа приложения, и главное управляющее приложение не будет знать о других установках до времени выполнения. Похоже, что это исключает использование внедрения зависимостей EntityManager и всего автоматического демактивации транзакций и т. Д. Альтернативный вариант - просто создать DataSource и выполнять взаимодействия вручную. Несмотря на гибкость, это явно требует гораздо больше усилий.

Итак, мой вопрос действительно в том, как мне лучше всего решить эту проблему?

9
задан wobblycogs 5 November 2010 в 03:08
поделиться