Настройте Spring для использования определенной версии класса - PullRequest
1 голос
/ 03 декабря 2010

У меня есть Java-приложение, для которого требуется последняя версия commons-dbcp (1.3), и его пул соединений с БД настроен Spring.Это приложение является всего лишь одним из списка приложений в одном и том же tomcat (если хотите, набором), и многие из них используют более старую версию commons-dbcp (1.2.1), все настроены Spring.

Поэтому, хотя я могу скомпилировать (с Maven) свое приложение с помощью DBCP 1.3, я не могу запустить его, потому что Spring пытается настроить мой пул соединений с БД на старую версию, которая находится в / shared / lib в Tomcat.

У меня проблема в том, что у меня нет ни времени, ни разрешения на обновление всего до 1.3, только одно приложение, которое я исправляю.Можно ли принудительно заставить Spring в файле component.xml моего приложения (или каким-либо другим способом) перейти на новую версию DBCP, чтобы только он запускал новую версию и не влиял на другие приложения?

Ответы [ 2 ]

3 голосов
/ 03 декабря 2010

Пока у вас есть версия 1.2.1 в / shared / lib, насколько я знаю, нет простого способа достичь того, что вам нужно.

Что вы обычно делаете в этом случае, так этовы связываете версию 1.2.1 с приложениями, которым требуется эта версия (например, в WEB-INF / lib, если они являются веб-приложениями), и связываете версию 1.3 с вашим приложением.

0 голосов
/ 03 декабря 2010

Вы можете использовать Jar Jar , чтобы переместить классы версий dbcp 1.3 в другой пакет и попросить Spring использовать их.

Да, это взлом.

...