Ehcache(二): 从EhCacheManagerFactoryBean说起

    注: 跟笔者其它研究源码的博客一样, Ehcache系列也是基于一个例子来debug地跟踪, 例子详见 Ehcache(一): Spring + Ehcache开场白 中的附件.如果没有例子作参照,阅读过程中可能有些摸不着头绪.
--------------------

Ehcache(一): Spring + Ehcache开场白 中, 创建了一个实例,从这篇起, 我们开始ehcahe源码探索之路.


    先看实例中的applicationContext配置文件说起. 配置文件中第一个bean是EhCacheManagerFactoryBean, 那么它是干啥的? 看源码,我们得知它封装了三个属性(CacheManager类型的cacheManager,boolean类型的shared和表示ehcache配 置信息的configLocation).  这个类很简单,从类名和封装了的属性上也不难看出Spring用些类(afterPropertiesSet方法)来new出一个 CacheManager实例. CacheManager是Ehcache赖以运行的后防基地,这个不必多说.

    不过看afterPropertiesSet方法,它有对shared的判断. 这是干啥的? 看源码注释发现了这样的描述: whether the EHCache CacheManager should be shared (as a singleton at the VM level) or independent (typically local within the application). 也说是说通过这个来设置cache的基地是这里的Spring独用,还是跟别的(如Hibernate的Ehcache共享). 这样了就回答了我心中一个问题: 如何让Hibernate也用到Spring中启动的Ehcache?

    接下来据shared与否的设置,Spring分别通过CacheManager.create()或new CacheManager()方式来创建一个ehcache基地.

    这样一个EhCacheManagerFactoryBean创建完成, 也就代表着一个CacheManager的启用.

    下一篇中再看这个CacheManager怎么来使用?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值