Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Почему ehcache.xml тянется из shared/lib


Автор: Barvetal 27.8.2007, 17:14
Всем здравствуйте!

Есть проблема. Я использую такой портал, как 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, и отдельные для моих приложений.

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

Всем заранее спасибо!

Автор: tux 27.8.2007, 17:42
Вот каким образом Ehcache грузит конфигурацию:
Цитата

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.

Очевидно, что Thread.currentThread().getContextClassLoader() - это не контроллер веб-приложения, а какой-то его родительский, потому и находит в общих ресурсах. Попробуй подкладывать в ehcache конфигурацию явно и используя класслоудер приложения.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)