是否可以在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组发送邮件。