http缓存管理器_小心缓存管理器
http缓存管理器
如果使用spring和JPA,则很有可能利用ehcache(或其他缓存提供程序)。 您可以在两种不同的情况下进行此操作:JPA 2级缓存和spring方法缓存。
配置应用程序时,通常会设置JPA提供程序的二级缓存提供程序(在我的情况下为Hibernate),并且还使用“缓存”名称空间配置spring。 一切正常,您将继续进行该项目。 但是有一个警告。 如果采用最直接的方法,则会得到两个单独的缓存管理器,它们加载相同的缓存配置文件。 从本质上来说,这还不错,但是要考虑一下–您是否真的需要两个缓存管理器,以及由此可能引起的问题?
可能你不知道。 因此,您必须摆脱冗余管理器。 为此,您需要将spring缓存管理器设置为共享:
<bean id='ehCacheManager'class='org.springframework.cache.ehcache.EhCacheManagerFactoryBean'><property name='shared' value='true' />
</bean>
这意味着spring不会创建新的缓存管理器实例,而是将重用hibernate已经创建的实例。 现在,这里需要考虑一些问题-这取决于bean创建的顺序–是将JPA工厂bean还是缓存管理器工厂bean放在首位。 幸运的是,这与最终结果无关紧要,因为SingletonEhCacheRegionFactory
如果找到现有实例,则会重用现有的缓存管理器实例。
因此,现在您已将缓存管理器设置为jvm-singleton。 但是,如果您部署了多个应用程序并且正在使用JMX,则可能会遇到另一个问题。 高速缓存管理器将自身注册为JMX Bean。 但是,当您有单身人士时,多个应用程序将尝试多次注册同一缓存管理器,这将失败。 结果将是日志中有几个例外,并且无法控制多个模块的缓存管理器。 如果您使用Terracotta之类的东西,则会出现相同问题的副作用(缓存管理器的身份很重要)。 幸运的是,您可以轻松解决此问题。 只需向上面显示的bean定义添加一个属性:
<property name='cacheManagerName' value='${module.name}' />
${module.name}
是使用PropertyPlaceholderConfigurer解析的PropertyPlaceholderConfigurer
并且可以针对每个${module.name}
应用程序进行配置,因此每个Web应用程序可以具有不同的模块名称。 这样,可以通过JMX以指定的名称访问缓存管理器。
总体而言,请谨慎使用缓存管理器。 即使在使用不同的缓存,jpa和DI提供程序的情况下,也应验证上述方案。
参考:在Bozho的技术博客博客中, 请注意我们JCG合作伙伴 Bozhidar Bozhanov的 缓存管理器 。
翻译自: https://www.javacodegeeks.com/2013/01/be-careful-with-cache-managers.html
http缓存管理器
http缓存管理器_小心缓存管理器相关推荐
- 计算机多媒体教室维修登记册,专用教室管理制度_专用教室管理制度范文
专用教室管理制度_专用教室管理制度范文 专用教室管理制度篇3 多媒体教室管理制度 1.多媒体教室的装备,是学校现代化教学设施之一,有专职人员负责管理,充分使用,倍加爱护. 2.室内的所有设备,应按统一 ...
- 打开文件管理器_大批量图纸管理的贴心助手好管家,参照管理器,你值得拥有...
原创:就说我在开发区 趣说CAD,让枯燥生动起来. 参照管理器 在开始今天的内容之前,先来看一则沃兹尼亚克对乔布斯在推出iPad过程中所起作用的评价. 沃兹尼亚克何许人也,能评价乔布斯当然也非无名之辈 ...
- 致远a8-v5-6.0协同管理软件_易达酒吧管理软件下载-易达酒吧管理软件v10.0免费版...
易达酒吧管理软件顾名思义是一款功能强大,专业实用的优秀酒店管理软件,软件根据服务性行业实际管理要求打造,软件具有会员销售.退还.存款.禁用(挂失.作废.临时禁用)等功能,相当的实用. 基本简介 易达酒 ...
- 清空计算机网络缓存,【缓存清理工具】缓存清理软件_电脑缓存清理软件【最新】-太平洋电脑网...
Windows7系统清理dns缓存失败解决方法介绍 在win7纯净版系统中有时候,发现网络突然变得很慢,甚至没有网络,怎么回事呢?可能是dns缓存导致的,这时候可以清理dns缓存尝试解决问题.但是有朋 ...
- mysql缓存淘汰机制_聊聊缓存淘汰算法-LRU 实现原理
前言 我们常用缓存提升数据查询速度,由于缓存容量有限,当缓存容量到达上限,就需要删除部分数据挪出空间,这样新数据才可以添加进来.缓存数据不能随机删除,一般情况下我们需要根据某种算法删除缓存数据.常用淘 ...
- 前端协商缓存强缓存如何使用_强制缓存和协商缓存有什么区别
1.背景介绍 做前端有两个比较令人头痛的事,一个是命名,另一个就是缓存了.HTTP协议提供了非常强大的缓存机制, 了解这些缓存机制,对提高网站的性能非常有帮助. 2.知识剖析 什么是浏览器缓存 浏览器 ...
- spring 两次进入拦截器_过滤器和拦截器的 6 个区别,别再傻傻分不清了
点击上方 肉眼品世界,选择 设为星标 深度价值体系传递 作者 :程序员内点事 来源 :toutiao.com/i6834310440495874563 毕竟这两种工具开发中用到的频率都相当高,应用起来 ...
- java 解析器_高性能Java解析器实现过程详解
如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器.或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需要的特定功能.或者开源解析 ...
- 多项式朴素贝叶斯分类器_多项式朴素贝叶斯分类器的主题预测
多项式朴素贝叶斯分类器 In Analytics Vidhya, Hackathon, there was a problem statement for text prediction of top ...
最新文章
- Java中的多线程总结
- 福布斯2021年十大最佳人工智能硕士课程,清华、港大入选
- [BZOJ 1098] [POI2007] 办公楼biu 【链表优化BFS】
- [BUUCTF-pwn]——picoctf_2018_buffer overflow 0
- 基于顺序存储结构的图书信息表的图书去重(C++)
- java多线程采集+线程同步-【多线程数据采集之四】
- sqlite expert 未找到提供程序。该程序可能未正确安装_SolidWorks2019安装过程中出现常见问题及解决方案...
- 如何查看数据库是否是rac,如何查看数据库是否是单实例
- 法兰克机械手手动操作_吸盘搬运机械手,一步解决玻璃搬运难题!
- C# vs MySql
- C#学习(二十八)——ManualResetEvent的理解和使用
- webpack 拾翠:充分利用 CommonsChunkPlugin()
- 《Dead Cells》,通过3D工具制作2D动画
- 十个设计师必备网站,解决你设计的所有难题
- JLINK仿真器来仿真调试mini2440
- 【分享】如何自动同步企业微信外部客户信息到CRM系统?
- (8)香橙派+apache2与php+天猫精灵=自建平台语音支持--天猫精灵对接3
- Arcmap制图调色
- 2.2 PB-ADV入网过程
- Redis五大数据结构的类型的使用