如何在ehcache配置文件中注入属性?

时间:2016-10-05 10:34:53

标签: xml ehcache properties-file

是否可以在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在上面显示的每个属性文件中定义,并根据运行我的应用程序的环境具有不同的值。

1 个答案:

答案 0 :(得分:3)

目前所有现有的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群组上发送邮件。