注: 跟笔者其它研究源码的博客一样, Ehcache系列也是基于一个例子来debug地跟踪, 例子详见
Ehcache(一): Spring + Ehcache开场白
中的附件.如果没有例子作参照,阅读过程中可能有些摸不着头绪.
--------------------
先看实例中的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怎么来使用?
分享到:
相关推荐
Maven坐标:org.ehcache:ehcache:3.9.9; 标签:ehcache、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持...
SpringMVC、Mybatis、Spring、Shiro和Ehcache这五个技术组件是Java Web开发中的关键工具,它们各自承担着不同的职责,并通过整合来实现强大的功能。下面将详细阐述这些技术以及它们在整合中的作用。 首先,...
Mybatis-ehcache 1.2.1 是一个集成Mybatis和Ehcache的缓存模块,用于提高Mybatis框架的查询效率。Ehcache是一个广泛使用的Java缓存解决方案,它能够有效地存储和检索数据,减少数据库的负载,提高应用程序性能。在...
Ehcache是一个开源的Java缓存库,广泛用于提高应用程序性能,通过存储数据副本来减少对数据库的访问。在3.8.1版本中,它提供了丰富的功能和优化,以支持高并发环境下的高效缓存操作。以下是关于Ehcache 3.8.1的知识...
Maven坐标:org.ehcache:ehcache:3.3.1; 标签:ehcache、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
2. 配置Ehcache:编写`ehcache.xml`文件,定制缓存的行为。 3. 集成MyBatis:在MyBatis的配置文件中启用二级缓存,并指定使用Ehcache。 4. 编写Mapper:在Mapper接口和XML文件中,使用MyBatis的注解或元素来启用...
ehcache.xml配置内容 <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.ehcache.org/ehcache.xsd"> eternal="false" maxElementsInMemory="1000...
2. **配置Hibernate**:在Hibernate的配置文件`hibernate.cfg.xml`中,我们需要指定Ehcache作为二级缓存提供者。添加以下配置: ```xml <property name="hibernate.cache.use_second_level_cache">true ...
Maven坐标:org.ehcache:ehcache:3.3.1; 标签:ehcache、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持...
Maven坐标:org.ehcache:ehcache:3.9.9; 标签:ehcache、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,...
<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> <property name="configLocation" value="classpath:ehcache.xml"/> ``` 接下来,我们可以在Spring的bean中使用`@...
从版本3.5开始,Ehcache仅支持Java 8和更高版本。 版本3.5现在处于维护模式。 我们不再计划执行较早版本的发布。 有关当前状态的更多详细信息,请参见的。 贡献 非常荣幸! 看一下我们的。 报告问题 不好了! ...
Ehcache是一个开源的Java缓存库,广泛用于提高应用程序性能,通过存储数据副本来减少对数据库的访问。它在2.10.1版本中提供了优化的性能和功能,适用于各种规模的应用程序。"ehcache-2.10.1-distribution+所需jar包....
在MyBatis的配置文件`mybatis-config.xml`中,我们需要启用缓存并指定使用Ehcache: ```xml ... <cacheEnabled>true <cacheImpl class="org.mybatis.cache.ehcache.EhcacheCache"/> ... ``` 然后在Mapper...
### 配置EhCache二级缓存 #### 一、简介 EhCache是一个高性能、易于使用的开源缓存系统,最初由 Terracotta 组织开发。它支持多种缓存模型,包括本地缓存和分布式缓存。由于其简单易用且功能强大,EhCache 成为了 ...
Maven坐标:net.sf.ehcache:ehcache-core:2.6.11; 标签:sf、ehcache、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档...
赠送jar包:ehcache-2.10.0.jar; 赠送原API文档:ehcache-2.10.0-javadoc.jar; 赠送源代码:ehcache-2.10.0-sources.jar; 包含翻译后的API文档:ehcache-2.10.0-javadoc-API文档-中文(简体)版.zip 对应Maven...
Maven坐标:net.sf.ehcache:ehcache-core:2.6.11; 标签:sf、ehcache、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
Maven坐标:net.sf.ehcache:ehcache-web:2.0.4; 标签:sf、ehcache、web、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码...
**Ehcache二级缓存配置详解** Ehcache是一个广泛使用的开源Java缓存库,它提供了内存和磁盘存储的缓存解决方案,适用于提高应用程序性能和减少数据库负载。在Java应用中,尤其是在Spring框架中,Ehcache常被用作二...