Spring-boot使用Ehcache配置

1、配置类

@Configuration
@EnableCaching
public class CacheConfiguration {// implements CachingConfigurer {

    @Bean
    //@Override
    public CacheManager cacheManager() {
        EhCacheCacheManager cacheManager = new EhCacheCacheManager();
        cacheManager.setCacheManager(ehCacheManagerFactoryBean().getObject());
        return cacheManager;
    }

    @Bean
    //@Override
    public KeyGenerator keyGenerator() {
        return new SimpleKeyGenerator();
    }

    @Bean
    public EhCacheManagerFactoryBean ehCacheManagerFactoryBean() {
        EhCacheManagerFactoryBean ehCacheManagerFactoryBean = new EhCacheManagerFactoryBean();
        ehCacheManagerFactoryBean.setConfigLocation(new ClassPathResource("ehcache.xml"));
        ehCacheManagerFactoryBean.setCacheManagerName("messageCache");
        ehCacheManagerFactoryBean.setShared(true);
        return ehCacheManagerFactoryBean;
    }

//    @Override
//    public CacheResolver cacheResolver() {
//        // TODO Auto-generated method stub
//        return new SimpleCacheResolver();
//    }
//
//    @Override
//    public CacheErrorHandler errorHandler() {
//        // TODO Auto-generated method stub
//        return new SimpleCacheErrorHandler();
//    }
    
}

 

2、位于resource目录下的配置文件ehcache.xml

<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
    <defaultCache eternal="true" maxElementsInMemory="100" overflowToDisk="false" />
    <cache name="messageCache" maxElementsInMemory="10" eternal="true" overflowToDisk="false" />
</ehcache>

 

3、Cache对象

    @Cacheable(value="messageCache")
    public Integer testCashe( String data ) {
        return new Integer(data.length());
    }

 

注意:Cache对象的value参数要与ehcache.xml配置文件中对应一致。

 

posted @ 2015-04-16 11:32  samu  阅读(2009)  评论(0编辑  收藏  举报