powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
8 сообщений из 8, страница 1 из 1
Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
    #34756038
Vetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем здравствуйте!

Есть проблема. Я использую такой портал, как jetspeed (он работает как сервлет. Сервер - tomcat 5.5.20). Он использует ehcache, и его ehcache.xml лежит в каталоге <tomcat_home>/webapps/jetspeed/WEB-INF/classes.

Много моих приложений также используют ehcache. И мой ehcache.xml лежит в файле <tomcat_home>/shared/lib/my-persistence.jar.

Так вот, проблема в том, что web-приложение jetspeed почему-то подтягивает ehcache.xml из shared/lib/my-persistence.jar, а не из webapps/jetspeed/WEB-INF/classes.

А мне нужно, чтобы были отдельные настройки ehcahe для jetspeed, и отдельные для моих приложений.

Объясните, пожалуйста, как мне это сделать?

Всем заранее спасибо!
...
Рейтинг: 0 / 0
Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
    #34756056
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
написано здесь
убери его из shared клади в каждый web-app
...
Рейтинг: 0 / 0
Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
    #34756238
Vetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exppнаписано здесь
убери его из shared клади в каждый web-app
Вот это ж.па... У меня 30 приложений, каждое из которых использует эту библиотеку. И это только начало проекта. А библиотека эта меняется почти каждый день. Это что же - каждый день ее раскидывать во все эти папки???

И еще один момент. В приведенной вами ссылке написано следующее:
Therefore, from the perspective of a web application, class or resource loading looks in the following repositories, in this order:

/WEB-INF/classes of your web application
/WEB-INF/lib/*.jar of your web application
Bootstrap classes of your JVM
System class loader classses (described above)
$CATALINA_HOME/common/classes
$CATALINA_HOME/common/endorsed/*.jar
$CATALINA_HOME/common/lib/*.jar
$CATALINA_BASE/shared/classes
$CATALINA_BASE/shared/lib/*.jar
То-есть, здесь написано, что вначале все-таки ищет в папке приложения, а потом уже во всех остальных. Но вы говорите противоположное, и моя реальная ситуация подтвердила то, что Вы сказали. Получается, ошибка в томкетовской документации?

Так все же, где же истина?
...
Рейтинг: 0 / 0
Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
    #34756940
rogov_vasya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не мудри. Положи все в корень проекта <tomcat_home>/webapps/jetspeed/WEB-INF/lib. И все проги, что будут по иерархии ниже(tomcat_home>/webapps/jetspeed/proj1, tomcat_home>/webapps/jetspeed/proj2), получат доступ к твоим библиотекам.

Сколькораз вы читали "А сейчас можете откинутся на спинку вашего кресла..."? И вам это не надоело?
...
Рейтинг: 0 / 0
Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
    #34757283
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vetal
То-есть, здесь написано, что вначале все-таки ищет в папке приложения, а потом уже во всех остальных. Но вы говорите противоположное, и моя реальная ситуация подтвердила то, что Вы сказали. Получается, ошибка в томкетовской документации?

Так все же, где же истина?
угу ...
Код: plaintext
As mentioned above, the web application class loader diverges from the default Java 2 delegation model (in accordance with the recommendations in the Servlet Specification, version 2.3, section 9.6). When a request to load a class from the web application's WebappX class loader is processed, this class loader will look in the local repositories first, instead of delegating before looking. All other class loaders in Tomcat 4 follow the usual delegation pattern.

похоже на то что сначала ваш класс грузится старшим загрузчиком (из shared) другим приложением, после этого WebAppCL не будет его грузить т.к. он уже есть в кэше родительского класслоадера

авторВот это ж.па... У меня 30 приложений, каждое из которых использует эту библиотеку. И это только начало проекта. А библиотека эта меняется почти каждый день. Это что же - каждый день ее раскидывать во все эти папки???
думаю тут проблема решается ant/mavenом или linkами Linux а (или эклипсными)
...
Рейтинг: 0 / 0
Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
    #34758481
Vetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что нашел в оффициальной документации ( Class loading and Class Loaders ):

Loading of ehcache.xml resources
If the configuration is otherwise unspecified, ehcache looks for a configuration in the following order:

Thread.currentThread().getContextClassLoader().getResource("/ehcache.xml")
ConfigurationFactory.class.getResource("/ehcache.xml")
ConfigurationFactory.class.getResource("/ehcache-failsafe.xml")
Ehcache uses the first configuration found.

Note the use of "/ehcache.xml" which requires that ehcache.xml be placed at the root of the classpath, i.e. not in any package.

Я вот только все равно не понимаю, какая в этом случае последовательность каталогов, где ищется ehcache.xml? Можете разьяснить?
...
Рейтинг: 0 / 0
Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
    #34758749
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю отрабатывает этот

авторThread.currentThread().getContextClassLoader().getResource("/ehcache.xml")
...
Рейтинг: 0 / 0
Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
    #34758795
expp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте в RemoteDebug поставить breakpoint
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Почему ehcache.xml тянется из shared/lib, а не WEB-INF/classes?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]