Как отключить ehcache в файле persistence.xml - PullRequest
1 голос
/ 08 октября 2011

Все, возможно ли отключить вторичный кеш в моем файле постоянства xml?У меня есть конфигурация Spring + Hibernate + JPA, которая использует ehcache.В моем файле persistence.xml у меня есть эта запись:

<property name="hibernate.cache.use_second_level_cache" value="false"/>

, но, похоже, это не работает, и я все еще вижу, что число загружаемых объектов продолжает увеличиваться по мере выполнения моего приложения.Я получаю статистику, используя это:

EntityManagerFactoryInfo emfi = (EntityManagerFactoryInfo) entityManagerFactory;
EntityManagerFactory emf = emfi.getNativeEntityManagerFactory();
EntityManagerFactoryImpl empImpl = (EntityManagerFactoryImpl)emf;
log.debug(empImpl.getSessionFactory().getStatistics());

Пожалуйста, помогите.

1 Ответ

3 голосов
/ 08 октября 2011

Статистика, которую вы просматриваете - это кеш сессии Hibernate (кеш 1-го уровня).Ваш кэш 2-го уровня (ehcache) отключен.Вы испытываете нормальное поведение.

РЕДАКТИРОВАТЬ:

Когда ehcache включен, вы найдете записи журнала, такие как:

[#|...|INFO|sun-appserver2.1|org.hibernate.cfg.SettingsFactory|...|Second-level cache: enabled|#]
[#|...|INFO|sun-appserver2.1|org.hibernate.cfg.SettingsFactory|...|Cache provider: org.hibernate.cache.EhCacheProvider|#]

(при условии, что вы включили ведение журнала для пакета- поставщик кеша может отличаться, например net.sf.ehcache.hibernate.EhCacheRegionFactory - не знаю, что вы используете)

...