当前位置: 首页 > 知识库问答 >
问题:

是否可以拆分一个ehache配置文件?

暨弘毅
2023-03-14

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

有没有办法导入一个子Ehache配置文件,或者有没有其他方法来解决这个问题?

共有1个答案

吴星汉
2023-03-14

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

要在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)来做更多有趣的事情。

 类似资料:
  • 我正在安装,默认情况下我有路径来设置我的。如果我选择此选项,一些文件夹出现在路径上。 这些文件夹是: > .Android .oracle_jre_usage .Gradle 为了更干净一点,我尝试将所有这些文件夹包装到另一个文件夹中,但每次运行时,它都给了我重新配置设置的选项。如果再次配置它们,文件夹将重新出现在路径上。 编辑二:根据提供的移动文件夹的博客,我更改的默认设置: 这里有as服务目录

  • 问题内容: 如文档所述,您可以使用可选参数调用webdriver.FirefoxProfile()来指向浏览器要使用的特定配置文件的目录。我注意到运行此命令花了很长时间,因此当我查看代码时,似乎正在复制指定的配置文件问题是,复制配置文件需要很长时间(大约> 30分钟,没有耐心等待它完成。) 我正在使用用户脚本和selenium的混合为我做一些自动化,因此每次想测试我的代码时都要设置一个新的配置文件

  • 我尝试用以下方法调用三个引用游标参数: 但是listOfObjects只包含cursor1的内容,无法获得cursor2的内容。

  • 例如,我知道在检查字符串时,可以执行如下操作 但是是否有一种方法来检查一个字符是否匹配一个可能性列表?或者我必须逐一检查,例如 ...等。

  • 给定一个测试类,如: 我得到了错误: java.lang.IllegalStateException:配置错误:发现测试类[com.example.myControllerTest]的多个@BootStrapWith声明:[@org.springframework.test.context.bootStrapWith(value=class org.springframework.boot.tes

  • 在中可以实现这样的功能吗 注意这里A是部分着色的。 我知道光凭类是不可能的。(文本显示在) 要实现这一点,有什么解决方案可以单独使用Swing或必须使用CSS? 编辑: 如果这是不可能的摆动,任何解决方案与以下标签?