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配置文件中对应一致。

 

你可能感兴趣的:(spring-boot)