java - 有没有办法使基于 Ehcache 文件的配置覆盖编程配置?

标签 java ehcache

我有一个使用 Ehcache 2.6 的应用程序。该应用程序对其 Ehcache 实例使用编程配置,并且该编程配置只能通过代码更改来更改。

我希望能够使用基于文件的配置来调整此应用程序。我可以将 ehcache.xml 配置文件引入应用程序类路径并让该文件胜过编程配置吗?

我尝试将 ehcache.xml 和 ehcache.xsd 添加到我的应用程序服务器上的应用程序并重新启动该应用程序。它似乎读取了 ehcache.xml 文件并启动了缓存,但是当我使用我的应用程序时,它似乎使用其编程配置重新启动了缓存,但出现了异常:

Caused by: java.lang.IllegalStateException: The myCache Cache is not alive (STATUS_UNINITIALISED)
        at net.sf.ehcache.Cache$CacheStatus.checkAlive(Cache.java:4267)
        at net.sf.ehcache.Cache.checkStatus(Cache.java:2701)
        at net.sf.ehcache.Cache.putInternal(Cache.java:1406)
        at net.sf.ehcache.Cache.put(Cache.java:1383)
        at net.sf.ehcache.Cache.put(Cache.java:1348)

最佳答案

没有办法让这样的事情发挥作用。您至少需要修改代码一次以告诉它加载配置文件 - 此时,您最好将所有配置提取到文件中并在之后使用。

关于java - 有没有办法使基于 Ehcache 文件的配置覆盖编程配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29041873/

相关文章:

Spring - 如何使用 aspectJ 缓存自调用?

java - 如何使用编程配置在 spring boot 中设置 ehcache3 中的最大深度超出行为?

java - 异常 : The AXIS engine could not find a target service to invoke! targetService 是 SecurityDepositServiceImpl

java - Angular 前端、Java 后端在 Docker 上的最佳部署模式

java - 将Youtube视频嵌入Java Swing

Java可序列化类生成的uuid不适用于ehcache

java - 接口(interface)和 foreach 循环有问题

java - Bean 脚本框架

java - 使用 Spring 4 @Transactional + Hibernate 4 + EHCache 忽略缓存

java - 同一主机上的 2 个实例之间的 ehcache 自动发现(通过多播)