首先说echache创建对象的四种方式
首先分为两大类,1使用默认的缓存配置文件
- URLurl=TestCacheManager.class.getClassLoader().getResource("conf/ehcache.xml");
- CacheManagermgr1=CacheManager.create(url);
- CacheManagermgr2=CacheManager.create("src/conf/ehcache.xml");
- CacheManagermgr3=CacheManager.newInstance("src/conf/ehcache.xml");
- System.out.println(mgr1==mgr2);//true
- System.out.println(mgr1==mgr3);//true
如果已经存在,就不会再创建:
CacheManager.create()和CacheManager.getInstance()都会先判断singleton属性是否为null,如果为null则继续调用newInstance(),如果不为null则直接返回。所以mgr1==mgr4==mgr5;
CacheManager.newInstance();不会判断singleton是否为null,直接使用默认的ehcache-failsafe.xml,新建一个CacheManager对象,所以mgr1 != mgr