2014-03-05 103 views
1

使用Grails 2.2.3並嘗試通過DSL配置緩存,如文檔herehere所述。被忽略的Grails DSL配置

說明指出可以在Config.groovy或CacheConfig.groovy文件中完成配置。 這必須根據grails.cache.config密鑰爲Config.groovy或在密鑰配置爲CacheConfig.groovy。

我不想緩存gorm操作。 Hybernate完全關閉。需要方法緩存這竟然是昂貴的,可以用來緩存一些休息結果...

我想這兩個選項和此警告沒有被讀取配置:

WARN : net.sf.ehcache.config.ConfigurationFactory: No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/home/myhome/.grails/ivy-cache/net.sf.ehcache/ehcache-core/jars/ehcache-core-2.4.6.jar!/ehcache-failsafe.xml 

我測試現在用在CacheConfig.groovy

config = { 
    cache { 
     name 'someName' 
     //Overwrite these, inherit rest 
     timeToIdleSeconds 86400 //I like 24hours 
     timeToLiveSeconds 86400 
    } 
    defaultCache { 
     //Just inherit from defaults 
    } 
    defaults { 
     timeToIdleSeconds 120 
     timeToLiveSeconds 120 
     eternal false 
     overflowToDisk false 
     maxElementsInMemory 10000 
     maxElementsOnDisk 10000000 
     memoryStoreEvictionPolicy="LRU" 
    } 
} 

這種配置可這是一個Grails緩存,插件錯誤或我這麼想嗎?

回答

2

該警告針對Hibernate二級緩存中使用的Ehcache。這就是說,類路徑中沒有ehcache.xml(或在別處明確配置),所以它會回落到jar文件中的默認xml文件。這與用於cache-ehcache插件的Ehcache配置是分開的。

+0

我沒有使用Hibernate。任何方式來壓制警告? –

+2

當然,如果你在src/java中有一個ehcache.xml文件,它將被複制到類路徑中,而不是使用jar中的默認值。從jar中提取ehcache-failsafe.xml,或者使用它(這是該文件的註釋被刪除)http://pastie.org/8882778 –