2012-01-09 51 views
2

我正在使用Spring和ehcache。使用查询将数据填充到Cache中,此过程必须每10分钟发生一次。有没有配置来设置?EhCache和数据库刷新

由于提前

+0

我用谷歌。检查一下,这[链接](http://svn.apache.org/repos/asf/jackrabbit/sandbox/inactive/orm-persistence/applications/test/ehcache.xml)可能会有所帮助。另请查看[教程](http://byteco.de/2010/01/26/integrating-spring-and-ehcache/)。 – 2012-01-09 14:18:29

回答

4

通常的Ehcache将被用于给一个TTL自动禁用缓存。从我的问题中可以收集到的信息,您要求每十分钟自动刷新一次缓存。为此,我会运行一个预定的服务,它可以清除并重新加载。例如:

@Cachable("Foo") 
public Foo getFoo() { 
    ... 
} 

@CacheEvict("Foo") 
public void evictFoo(){ 
    ... 
} 

@Scheduled(fixedRate = 10L * 60L * 1000L) //Ten minutes 
public void automaticCacheRefresh(){ 
    evictFoo(); 
    getFoo(); 
}