我到底应该将 ehcache.xml 放在我的项目中的什么位置?

SPI*_*984 5 java ehcache

我最近开始使用 EHCache 进行缓存。我知道,如何在 Java 代码中使用它,但我仍然不确定配置文件。

所以,我有一个耳朵项目,其中包括几个战争模块。如果所有这些模块都使用 ehcache,我应该为每个模块在 WEB-INF 中放置一个 ehcache.xml 的副本,还是将它放在 Ear 文件本身的某个位置(可能是 META-INF?)

此外,从文档中不清楚,是否所有这些模块都将使用相同的缓存实例?应用程序部署在 glassfish 上,EHCache 会为 Ear 中的每个模块运行相同的缓存,还是每个模块在使用时都会获得自己的单例实例:

CacheManager singleton = CacheManager.create();
Run Code Online (Sandbox Code Playgroud)

abh*_*k_M 2

对于放入 ehcache 配置文件没有硬性规定。但是,我个人将 ehcache 配置文件与所有其他配置和属性文件一起保存。

例如,我会将 ehcache 配置 xml 文件的路径存储在某个静态最终变量中(有助于保持路径可配置)

private static final String EHCACHE_CONFIG = "<path to this file>/ehcache.xml";
Run Code Online (Sandbox Code Playgroud)

然后当我初始化缓存管理器时,我将配置文件的路径作为参数给出

CacheManager manager = new CacheManager(EHCACHE_CONFIG);
Run Code Online (Sandbox Code Playgroud)