Spring 是否可以拆分ehcache配置文件?

Spring 是否可以拆分ehcache配置文件?,spring,configuration,ehcache,Spring,Configuration,Ehcache,我正在编写一个jar,打算与Spring和Ehcache一起使用。Spring要求为每个元素定义一个缓存,因此我计划为jar定义一个Ehcache,最好是作为jar中的一个资源,可以导入到应用程序的主Ehcache配置中。然而,我的阅读和我的谷歌搜索并没有找到任何方法来导入子Ehcache配置文件 是否有方法导入子Ehcache配置文件,或者有其他方法解决此问题?我做了类似的事情(替换我的Ehcache xml文件中的一些占位符-如果愿意,导入语句或多或少是占位符)是为了扩展(老实说,或多或少是

我正在编写一个jar,打算与Spring和Ehcache一起使用。Spring要求为每个元素定义一个缓存,因此我计划为jar定义一个Ehcache,最好是作为jar中的一个资源,可以导入到应用程序的主Ehcache配置中。然而,我的阅读和我的谷歌搜索并没有找到任何方法来导入子Ehcache配置文件


是否有方法导入子Ehcache配置文件,或者有其他方法解决此问题?

我做了类似的事情(替换我的Ehcache xml文件中的一些占位符-如果愿意,导入语句或多或少是占位符)是为了扩展(老实说,或多或少是复制的)从Springs动态创建最终的Ehcache xml配置文件

要在
AfterPropertieSet()
中创建
CacheManager
实例,只需交出一个指向配置的
InputStream

@Override
public void afterPropertiesSet() throws IOException, CacheException {
    if (this.configLocation != null) {
        InputStreamSource finalConfig = new YourResourceWrapper(this.configLocation); // put your custom logic here
        InputStream is = finalConfig.getInputStream();
        try {
            this.cacheManager = (this.shared ? CacheManager.create(is) : new CacheManager(is));
        } finally {
            IOUtils.closeQuietly(is);
        }
    } else {
        // ...
    }
    // ...
}
对于我的过滤内容,我在内部使用了
ByteArrayResource
来保留最终的配置

data = IOUtils.toString(source.getInputStream()); // get the original config (configLocation) as string
// do your string manipulation here
Resource finalConfigResource =  new ByteArrayResource(data.getBytes());
对于“真正的”模板,还可以考虑使用像FreeMarker这样的真正的模板引擎(Spring支持FreeMarker)来做更多有趣的事情。

相关(可能的dup?):