有没有办法让基于Ehcache文件的配置覆盖程序化配置?

时间:2015-03-13 21:02:14

标签: java ehcache

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

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

我尝试将ehcache.xml和ehcache.xsd添加到我的appserver上的应用程序并重新启动应用程序。它似乎读取了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)

1 个答案:

答案 0 :(得分:1)

没有办法做出像这样的工作。您至少需要修改一次代码以告诉它加载配置文件 - 此时,您最好将所有配置解压缩到文件中,然后再使用它。