2015-11-01 43 views
0

如何測試Hibernate二級緩存?Grails 3.0.9。我如何測試Hibernate二級緩存?

我試圖將其配置在application.yml:

hibernate: 
cache: 
    use_second_level_cache: true 
    provider_class: net.sf.ehcache.hibernate.EhCacheProvider 
    region: 
     factory_class: org.hibernate.cache.ehcache.EhCacheRegionFactory 
flush: 
    mode: 'commit' 

跟蹤選項dataSource { ... logSql = true },它總是顯示在執行SQL?或者還包含二級緩存提取而不執行SQL?

回答

0

我想你可以激活org.hibernate.cache category來記錄所有的二級緩存活動。

要這樣做編輯您的Config.groovy文件。找到行:

hibernate = "off" 

,取而代之的是:

hibernate.cache = "trace,stdout" 

您也可以有FAQ這一臉的Grails。

編輯:利用統計API

的要瀏覽一個第二級或查詢緩存區域的內容,使用統計API:

Map cacheEntries = sessionFactory.getStatistics() 
    .getSecondLevelCacheStatistics(regionName) 
    .getEntries(); 

您將需要啓用的統計數據以及可選迫使休眠,以保持緩存條目的可讀性更強:

hibernate.generate_statistics true 
hibernate.cache.use_structured_entries true 

希望這有助於!謝謝

+0

唉,在Grails 3.0中安置其他配置 – igilfanov

+0

我編輯了我的答案並在統計API中添加了一些信息,希望有所幫助。 – Anshul