我的项目是在春天4.3.4,5.2.4休眠和3.3的Ehcache弹簧4的Ehcache 3休眠5缓存默认模板设置
我要寻找一个奇异JSR-107(的JCache)CacheManager的一个解决方案整个应用程序提供:
- 春天缓存 - 有明确命名的高速缓存的数量;
- Hibernate的L2高速缓存 - 与隐含产生任何数量的区域(这实际上是在缓存太)的
这里主要关注的是休眠的能力。实际上,这是为其地区设置默认模板的问题。在回顾了很多主题之后,我还没有发现一个完全适合的解决方案。
所以,如果它存在,我恳请专家指出它。高度赞赏编程唯一的配置方式(ehcache.xml是不需要的)。
加:(回答@Anthony Dahanne): 我在发布这个主题之前就已经看到了您指定的项目中的解决方案。更重要的是,这个项目是我一周前调查的起点。
但是,该解决方案不仅涉及到Spring的几个名为Cache区域的显式声明,而且涉及到Hibernate,因为我们可以在CacheConfiguration#createCacheConfigurations方法中找到它。
这在实际项目中很不方便,其中包含100500个由Hibernate管理的不同实体,NaturalKeys等等,因为对于所有的应用程序,它都应该在运行中创建适当的区域。我将Hibernate的RegionFactory的主要功能区分为能够自动完成这项神奇工作的能力。但是我们在customized JCacheRegionFactory课程的指出的项目中看到了什么?直接禁止它产生新的区域,这是通过无条件的例外来实现的,这将导致任何尝试这样做(它甚至被指出“......但确保所有高速缓存已经存在以防止自发创建配置不当的缓存......“评论)。
理想的解决方案必须能够设置一个唯一的“默认模板”(在CacheManager级别上),就像在encache.xml中工作一样(... jcache:defaults default-template =“myDefaultTemplate .. ),...但没有XML。
亲爱的Anthony Dahanne,谢谢你的回应!您指向的JHipster项目作为不同缓存方面用法的示例非常有用。但它使用明确的方式来定义Hibernate的区域,这不适合我。在我的第一篇文章中看到我的附加说明。所以,我不能完全满意所提供的解决方案,并会继续询问。 –