сервлет - много контекстов - как разделить соединение БД? - PullRequest
0 голосов
/ 01 августа 2011

У меня есть файл .war A и файл .war B и файл .war C;B и C должны использовать подключение к базе данных, поэтому я решил использовать .war A для совместного использования подключения к базе данных.Но проблема в том, что файлы .war ограничены собственным контекстом.Итак, мой вопрос: как получить соединение с базой данных, чтобы поделиться им среди моих веб-приложений Tomcat?А как ограничить доступ к соединению только для нескольких приложений?

Ответы [ 2 ]

3 голосов
/ 02 августа 2011

Возможно, вы на самом деле не хотите совместно использовать одно соединение между приложениями.Вы, вероятно, хотите поделиться вещью, которая создает соединения, которая должна быть пулом соединений.Поместите соответствующую реализацию из DataSource в реестр JNDI Tomcat.Затем все приложения могут получить соединение из одного источника.Чтобы ограничить доступ к некоторым приложениям, просто заставьте их использовать метод getConnection (), который требует имя пользователя и пароль , и только приложения, имеющие учетные данные, могут использовать его.

1 голос
/ 02 августа 2011

Объявите в вашем Tomcat server.xml ресурс источника данных и укажите его в context.xml. Это охватывает ваш случай.

...