2010-12-08 4 views
1

Я использую Java, Hibernate и Spring в своем проекте. Я работаю над огромным набором данных, поэтому я впервые применил ehcache для кэширования таблиц и набора результатов.Тестирование для ehcache

Но я не знаю, загружаются ли данные из кеша в следующее время. Как я могу проверить это? Любая помощь будет оценена. Вот как я настроил ehcache.

<prop key="hibernate.cache.use_second_level_cache">true</prop> 
<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</prop> 
<prop key="hibernate.cache.use_query_cache">true</prop> 

Тогда я сохранил ehcache.xml в пути к классам. Этого достаточно? Как я могу проверить, работает ли он или нет?

ответ

4

Проверка журналов. Включите ведение журнала вашего сервера до уровня DEBUG, вы увидите, что активность кэша регистрируется там.

+1

что касается автоматизированных испытаний? – chrismarx 2012-08-02 14:44:14

0

Вы можете добавить ehcache.xml в свои тестовые ресурсы (или в путь класса Test), чтобы он создавал экземпляр ehcache. Затем всякий раз, когда вы будете тестировать свой метод, который использует этот кешированный объект, он должен искать его из кэшированного объекта.

Или вы вручную обращаетесь к кешу в своем тестовом коде.

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration(locations = {"classpath*:cache.xml"}) 
public abstract class TestEcacheSpring { 

    @Autowired 
    EcacheSpringtest test; 

    @Test 
    public void test(){ 
    test.getName("test"); 
    test.getName("test"); 
    } 

} 
Смежные вопросы