如何在 ehcache 配置文件中注入属性?
How to inject properties in ehcache configuration 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
在上面显示的每个属性文件中定义,根据我的应用所在的环境有不同的值运行.
简短的回答是否定的,目前所有现有的 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 组中发送邮件。
是否可以在 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 组中发送邮件。