как управлять подключениями к динамически создаваемым базам данных - PullRequest
13 голосов
/ 25 августа 2011

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

1 - я использую Tomcat

2 - базы данных создаются динамически во время выполнения (я использую mysql)

без сомнения, имеяпул соединений для управления соединениями с базой данных является оптимальным.Поскольку базы данных не были известны в начале приложения, я не смог настроить источники данных и создать пулы соединений.(Я не смог найти в Tomcat способ создать динамический пул соединений: пул соединений, который создается во время выполнения).

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

Заранее спасибо.

Ответы [ 2 ]

12 голосов
/ 25 августа 2011

Драйвер MySQL JDBC позволяет исключить имя базы данных из URL-адреса подключения следующим образом:

jdbc:mysql://localhost:3306

Вам нужно указать базу данных только Connection#setCatalog() или непосредственно в запросах SQL. См. Также справочную документацию :

Если database не указан, соединение будет установлено без базы данных по умолчанию. В этом случае вам нужно будет либо вызвать метод setCatalog() в экземпляре Connection, либо полностью указать имена таблиц, используя имя базы данных (то есть SELECT dbname.tablename.colname FROM dbname.tablename...) в вашем SQL. Не указание базы данных для использования при подключении обычно полезно только при создании инструментов, работающих с несколькими базами данных, таких как менеджеры баз данных с графическим интерфейсом.

Это позволяет создавать в Tomcat единый и повторно используемый источник данных пула соединений. Возможно, вам потребуется переписать только ваш менеджер соединений и / или SQL-запросы.

0 голосов
/ 25 августа 2011

Достаточно открытых рамок пула подключений. Proxool определенно среди лучших. Это довольно гибкий и простой в использовании.

...