【问题标题】:How to inject properties in ehcache configuration file?如何在 ehcache 配置文件中注入属性?
【发布时间】:2017-02-13 18:15:57
【问题描述】:

是否可以在 ehcache.xml 中注入一些属性?

例如我有不同的属性文件,每个都属于一个环境:

my_project_name.local.properties

my_project_name.test.properties

my_project_name.int.properties

my_project_name.prod.properties

它们中的每一个都包含不同环境的属性。

我想在 ehcache.xml 中注入属性maxByteslocalHeap 如下:

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="ehcache.xsd"
     updateCheck="false" monitoring="autodetect"
     maxBytesLocalHeap="${my_project.cache.maxBytesLocalHeap}">
     .....
</ehcache>

my_project.cache.maxBytesLocalHeap 在上面显示的每个属性文件中都有定义,并且根据我的应用程序运行的环境具有不同的值。

【问题讨论】:

    标签: xml ehcache properties-file


    【解决方案1】:

    简短的回答是否定的,目前所有现有的 Ehcache 版本(最新的 2.10.2 和 3.1.3)。

    您问题的长答案取决于 Ehcache 版本:

    • Ehcache 2.6.x 到 2.10.x 仅支持 CacheManager 级别的磁盘路径配置的属性替换。使用的模式是经典的${my.prop}
    • Ehcache 3.0.0 到 3.1.2 不支持任何属性替换。
    • Ehcache 3.1.3 及更高版本支持在所有接受文本的模式位置进行属性替换。同样,要使用的模式是经典的${my.prop}。请注意,这意味着对于您的示例,您将无法替换大小信息,因为 XSD 强制该值是严格的正数。

    此处列出的最新限制可以解除 - 开发团队只是不确定是否值得付出努力。因此,如果这是您认为 Ehcache 应该提供的东西,请在ehcache-users google 群组中发送邮件。

    【讨论】:

      猜你喜欢
      • 2016-03-21
      • 1970-01-01
      • 2016-05-07
      • 2017-06-17
      • 1970-01-01
      • 2013-02-21
      • 2014-08-09
      • 1970-01-01
      • 2011-11-26
      相关资源
      最近更新 更多