Ehcache原理

深入理解Ehcache系列(二)

允我心安 提交于 2019-12-10 15:43:29
CacheManager是Ehcache的缓存主要管理类.支持单例模式和工厂模式. 主要用于管理Ehcache里面有的Cache. 可以使用CacheManager来创建Cache. 如: CacheManager manager = CacheManager.newInstance("src/config/cache.xml"); manager.addCache("testCache"); Cache cache = singletonManager.getCache("testCache"); manager.removeCache("testCache"); 具体实现如下: 单例模式: /** * The Singleton Instance. */ private static volatile CacheManager singleton; /** * A factory method to create a singleton CacheManager with default config, or return it if it exists. * <p/> * The configuration will be read, {@link Ehcache}s created and required stores initialized. When the {

深入理解Ehcache系列(四)

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-10 15:21:22
在系列三中我们介绍了可以通过配置文件或者参数传递来配置Ehcache的系统参数。但是如果我们想动态的去调整这些参数应该怎么办呢? 这是完全可行的,Cache提供了相应的方法。 Cache cache = manager . getCache ( "sampleCache" ); CacheConfiguration config = cache . getCacheConfiguration (); config . setTimeToIdleSeconds ( 60 ); config . setTimeToLiveSeconds ( 120 ); config . setmaxEntriesLocalHeap ( 10000 ); config . setmaxEntriesLocalDisk ( 1000000 ); /** * @param propertyName * @param oldValue * @param newValue */ public void firePropertyChange(String propertyName, Object oldValue, Object newValue) { PropertyChangeSupport pcs; synchronized (this) { pcs = propertyChangeSupport; }