2010-12-08 21 views
1

J'utilise Java, Hibernate et Spring dans mon projet. Je travaille sur un énorme ensemble de données, j'ai donc mis en œuvre ehcache pour mettre en cache les tables et le jeu de résultats sur la première fois.Test pour ehcache

Mais je ne sais pas si les données sont chargées à partir du cache aux heures suivantes. Comment puis-je tester cela? Toute aide serait appréciée. C'est comme ça que j'ai configuré 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> 

J'ai gardé ehcache.xml dans le classpath. Est-ce assez? Comment puis-je tester si ça marche ou pas?

Répondre

4

En vérifiant les journaux. Activez la journalisation de votre serveur au niveau DEBUG, vous verrez l'activité du cache y être connecté.

+1

qu'en est-il des tests automatisés? – chrismarx

0

Vous pouvez ajouter ehcache.xml dans vos ressources de test (ou dans le chemin de classe de Test) afin d'instancier l'ehcache. Ensuite, chaque fois que vous testerez votre méthode qui utilise cet objet mis en cache, il devrait le rechercher à partir de l'objet mis en cache. Ou alors, vous accédez manuellement au cache dans votre code de test.

@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"); 
    } 

}