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



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

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

最新更新