SingletonEhCacheRegionFactory vs EhCacheRegionFactory

时间:2011-07-07 19:10:18

标签: java hibernate ehcache

This link(来自Ehcache的创建者)说当你只有一个Hibernate SessionFactory和EhCacheRegionFactory时你应该使用SingletonEhCacheRegionFactory。

但是当你只有一个SessionFactory时,EhCacheRegionFactory不会是单个实例吗?

那么,关于SingletonEhCacheRegionFactory的更好是什么?为什么不一直使用EhCacheRegionFactory,因为它可以用于一个SessionFactory或多个?

仅供参考:我正在使用Ehcache 2.4.2和Hibernate 3.6.5

2 个答案:

答案 0 :(得分:9)

非单例 EhCacheRegionFactory 允许您使用 net.sf.ehcache.configurationResourceName 属性为每个Hibernate实例单独配置EHCache。 SingletonEhCacheRegionFactory 在所有Hibernate会话工厂中共享相同的EHCache配置。

EHCache documentation recommends使用非单身版本。

修改:此信息适用于EHCache 2.8。不确定最新版本中有多少变化。

答案 1 :(得分:0)

我想通过使用SingletonEhCacheRegionFactory,你不需要维护(或确保)EhCacheRegionFactory是一个单例。您可以在任何地方创建新的SingletonEhCacheRegionFactory(),它仍然是整个应用程序中的单例。

使用EhCacheRegionFactory时,您需要相应地显式配置对象的范围,以确保它是单例。