このリンク (Ehcacheの作成者から)Hibernate SessionFactoryが1つしかない場合はSingletonEhCacheRegionFactoryを使用し、複数ある場合はEhCacheRegionFactoryを使用する必要があると述べています。
しかし、SessionFactoryが1つしかない場合、EhCacheRegionFactoryはとにかく単一のインスタンスではないでしょうか。
では、SingletonEhCacheRegionFactoryのbetterは何ですか? EhCacheRegionFactoryは1つまたは複数のSessionFactoryで使用できるため、常に使用してみませんか?
参考:Ehcache2.4.2とHibernate3.6.5を使用しています
非シングルトンEhCacheRegionFactoryを使用すると、net.sf.ehcache.configurationResourceNameプロパティを使用して、Hibernateインスタンスごとに個別にEHCacheを構成できます。 SingletonEhCacheRegionFactoryは、すべてのHibernateセッションファクトリ間で同じEHCache構成を共有します。
EHCacheドキュメントで推奨 非シングルトンバージョンを使用します。
編集:この情報はEHCache2.8に適用されます。最新バージョンで何が変更されたかわからない。
SingletonEhCacheRegionFactoryを使用することで、EhCacheRegionFactoryがシングルトンであることを維持(または確認)する必要がないと思います。新しいSingletonEhCacheRegionFactory()はどこにでも作成できますが、それでもアプリケーション全体でシングルトンになります。
EhCacheRegionFactoryを使用している間は、オブジェクトのスコープを明示的に構成して、シングルトンであることを確認する必要があります。