我的項目是在春天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的區域,這不適合我。在我的第一篇文章中看到我的附加說明。所以,我不能完全滿意所提供的解決方案,並會繼續詢問。 –