转载请注明出处哈:http://carlosfu.iteye.com/blog/2237511
一、使用JMX监控和管理Ehcache
ehcache-core.jar中的net.sf.ehcache.management包提供了基于JMX标准的MBeans和ManagementService用于对ehcache进行监控和管理。
1. net.sf.ehcache.management包下类具体如下图:
2. Ehcache MBeans
CacheManager: Cache管理,可以对应多个Cache。
Cache: Cache的状态,类型等等。
CacheConfiguration: Cache的配置
CacheStatistics: Cache的统计信息
3. 使用Ehcache的jmx监控:
(1) 加入方法:
CacheManager cacheManager = CacheManager.newInstance(BaseTest.class.getClassLoader().getResourceAsStream("ehcache.xml")); //获取MBeanServer MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer(); //将Ehcache的MBean注册到MBeanServer ManagementService.registerMBeans(cacheManager, mBeanServer, true, true, true, true);
(2) ManagementService示意图:
因为ManagementService实现了CacheManagerEventListener接口,所以可以对Ehcache进行统计
(3) ManagementService.registerMBeans参数说明:
* @param cacheManager the CacheManager to listen to : 要监听的CacheManager * @param mBeanServer the MBeanServer to register MBeans to: MBeans要注册的MBeanServer * @param registerCacheManager Whether to register the CacheManager MBean: 是否注册CacheManager MBean * @param registerCaches Whether to register the Cache MBeans: 是否注册Cache MBean * @param registerCacheConfigurations Whether to register the CacheConfiguration MBeans: 是否注册CacheConfiguration MBeans * @param registerCacheStatistics Whether to register the CacheStatistics MBeans: 是否注册CacheStatistics MBeans
/** * This method causes the selected monitoring options to be be registered * with the provided MBeanServer for caches in the given CacheManager. * * While registering the CacheManager enables traversal to all of the other * items, this requires programmatic traversal. The other options allow entry * points closer to an item of interest and are more accessible from JMX * management tools like JConsole. Moreover CacheManager and Cache are not * serializable, so remote monitoring is not possible for CacheManager or * Cache, while CacheStatistics and CacheConfiguration are. * Finally, CacheManager and Cache enable management operations to be performed. * * Once monitoring is enabled caches will automatically added and removed from the * MBeanServer as they are added and disposed of from the CacheManager. When the * CacheManager itself shutsdown all registered MBeans will be unregistered. * * @param cacheManager the CacheManager to listen to * @param mBeanServer the MBeanServer to register MBeans to * @param registerCacheManager Whether to register the CacheManager MBean * @param registerCaches Whether to register the Cache MBeans * @param registerCacheConfigurations Whether to register the CacheConfiguration MBeans * @param registerCacheStatistics Whether to register the CacheStatistics MBeans */ public static void registerMBeans( net.sf.ehcache.CacheManager cacheManager, MBeanServer mBeanServer, boolean registerCacheManager, boolean registerCaches, boolean registerCacheConfigurations, boolean registerCacheStatistics) throws CacheException
4. 实际效果
使用JConsole或者VisualVm就看到对应的MBeans:(net.sf.ehcache)
5. 附赠一张jmx基本架构图:
6. JMX监控内容详细说明:
详见:BigMemroy系列文章--5. Ehcache配置和统计数据
二、Ehcache节点同步(转自:http://raychase.iteye.com/blog/1545906 第11节)
缓存数据复制方面,Ehcache允许两个地理位置各异的节点在广域网下维持数据一致性,同时它提供了这样几种方案(注:下面的示例都只绘制了两个节点的情形,实际可以推广到N个节点):
第一种方案:Terracotta Active/Mirror Replication。
这种方案下,服务端包含一个活跃节点,一个备份节点;各个应用节点全部靠该活跃节点提供读写服务。这种方式最简单,管理容易;但是,需要寄希望于理想的网络状况,服务器之间和客户端到服务器之间都存在走WAN的情况,这样的方案其实最不稳定。
第二种方案:Transactional Cache Manager Replication。
这种方案下,数据读取不需要经过WAN,写入数据时写入两份,分别由两个cache manager处理,一份在本地Server,一份到其他Server去。这种方案下读的吞吐量较高而且延迟较低;但是需要引入一个XA事务管理器,两个cache manager写两份数据导致写开销较大,而且过WAN的写延迟依然可能导致系统响应的瓶颈。
第三种方案:Messaging based (AMQ) replication。
这种方案下,引入了批量处理和队列,用以减缓WAN的瓶颈出现,同时,把处理读请求和复制逻辑从Server Array物理上就剥离开,避免了WAN情况恶化对节点读取业务的影响。这种方案要较高的吞吐量和较低的延迟,读/复制的分离保证了可以提供完备的消息分发保证、冲突处理等特性;但是它较为复杂,而且还需要一个消息总线。
相关推荐
赠送jar包:ehcache-3.9.9.jar; 赠送原API文档:ehcache-3.9.9-javadoc.jar; 赠送源代码:ehcache-3.9.9-sources.jar; 赠送Maven依赖信息文件:ehcache-3.9.9.pom; 包含翻译后的API文档:ehcache-3.9.9-javadoc-...
hibernate-ehcache-4.1.12.Final.jar hibernate-entitymanager-4.1.12.Final.jar hibernate-jpa-2.0-api-1.0.1.Final.jar hibernate-search-4.2.0.Final.jar hibernate-search-analyzers-4.2.0.Final.jar hibernate-...
赠送jar包:ehcache-core-2.6.11.jar; 赠送原API文档:ehcache-core-2.6.11-javadoc.jar; 赠送源代码:ehcache-core-2.6.11-sources.jar; 赠送Maven依赖信息文件:ehcache-core-2.6.11.pom; 包含翻译后的API文档...
该包是hibernate中所用的一个包,专门用来去处理特定的问题,它是和ehcache一起用的一个包
ehcache缓存jar(ehcache-core-2.4.6.jar+ehcache-web-2.0.4.jar)
mybatis-ehcache-1.0.2.jar META-INF/LICENSE META-INF/MANIFEST.MF META-INF/NOTICE META-INF/maven/org.mybatis.caches/mybatis-ehcache/pom.properties META-INF/maven/org.mybatis.caches/mybatis-ehcache/pom....
ehcache-core-2.6.10.jar依赖包 MyBatiesEhCache二级缓存 Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个...
jar包,官方版本,自测可用
3. 使用XML编辑器或工具:很多XML编辑器(如IntelliJ IDEA、Eclipse等)有内置的XML Schema验证功能,能即时指出配置文件中的错误。 4. 参考社区资源:如给出的链接(http://henatne.iteye.com/blog/837186),社区...
hibernate-ehcache-4.1.0.Final.jar 是hibernate4.1使用缓存的jar包
"ehcache-core-2.4.5.jar"是Ehcache的核心库,该版本为2.4.5,包含Ehcache的基本功能和API。在使用这个版本的Ehcache时,需要额外引入两个SLF4J(Simple Logging Facade for Java)的依赖,分别是"slf4j-api-1.6.1....
首先,我们来看"ehcache-1.6.2-distribution.tar.gz"。这个压缩包包含了Ehcache的1.6.2版本,它是一个重要的里程碑,因为每个版本的更新都会带来新的功能和改进。1.6.2版可能包括了增强的性能、错误修复以及对当时...
标题"ehcache-2.7.3-distribution.tar.gz"表明这是一个包含EHCache 2.7.3版本的发行版压缩包,格式为tar.gz,这是一种常见的Linux/Unix系统中用于打包和压缩文件的格式。这个版本的EHCache是Java缓存系统的一个版本...
ehcache-core-2.6.10.jar专用包,欢迎下载 ehcache-core-2.6.10.jar ehcache-core-2.6.10.jar ehcache-core-2.6.10.jarehcache-core-2.6.10.jarehcache-core-2.6.10.jar
hibernate-ehcache-3.3.2.GA.jar
cas-client-support-distributed-ehcache-3.2.0.jar
- 使用二级缓存提高性能,如EhCache集成。 - 合理设计实体关系,避免N+1查询问题。 - 使用批处理更新和插入,减少数据库交互次数。 通过以上分析,我们可以看出`hibernate-core-5.0.11.Final.jar`在ORM中的重要地位...
解决:升級1.7后附件中文路径报400错误的问题 ...shiro-ehcache-1.7.0.jar shiro-spring-1.7.0.jar shiro-web-1.7.0.jar CustomShiroFilterFactoryBean.java spring-context-shiro.xml 修改说明.txt
Ehcache 2.10.8是该产品的特定版本,它包含了针对缓存管理和优化的一系列特性和改进。在bigmemory-max-4.3.8.4.2.tar.gz这个压缩包中,我们可以找到与Ehcache 2.10.8相关的所有组件和配置文件。 1. Ehcache的核心...
ehcache-core-2.5.2.jar ehcache-spring-annotations-1.2.0.jar guava-13.0.1.jar ehcache-terracotta-2.5.2.jar slf4j-api-1.6.1.jar slf4j-log4j12-1.6.1.jar terracotta-toolkit-1.5-runtime-4.2.0.jar