首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >度量-通过.properties文件的弹簧配置

度量-通过.properties文件的弹簧配置
EN

Stack Overflow用户
提问于 2014-08-05 09:08:10
回答 1查看 861关注 0票数 1

我正在尝试配置metrics-spring via configuration file

在我的spring.xml中我添加了

代码语言:javascript
复制
<bean id="propertyPlaceholderConfigurer"
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>
                classpath:metrics.properties
            </value>
        </list>
    </property>
    <property name="systemPropertiesModeName"
              value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
    <property name="searchSystemEnvironment" value="true"/>
</bean>

充满了类似的东西

代码语言:javascript
复制
metrics.reporter.type=console

然后在spring配置中设置它,通过${metrics.reporter.type}访问该属性。

代码语言:javascript
复制
<metrics:reporter metric-registry="metrics" type="${metrics.reporter.type}" period="1m"/>

在web应用程序启动期间,spring由于上面的BeanDefinitionParsingException抛出一个unresolved variable

配置问题:没有为报告类型“${metrics.reporter.type}”找到任何metrics.reporter.type

我正在使用这个配置方法(通过属性文件)用于mongo主机和端口,它的工作原理就像一种魅力。

我运行在Tomcat7中,Spring4.0.5.RELEASE,度量框架3.1.0-快照(我需要球衣2支持)和度量-Spring3.0.1。我也尝试了一个自编的度量--Spring3.1.0-快照,但没有解决我的问题。

编辑

找到这个问题,它解释了ElementParser不支持SpEL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-08 21:41:57

恐怕不能在type属性中使用属性占位符。Spring直到度量之后的阶段才解析属性占位符或SpEL -spring读取类型属性并解析报告元素(这是允许在所有其他属性中使用占位符和bean引用所必需的)。

一个可能的解决方案是配置您可能要使用的所有记者,并在启用属性中使用占位符:

代码语言:javascript
复制
<metrics:reporter metric-registry="metrics" type="console" period="1m"
                  enabled="${metrics.reporter.console.enabled}" />

<metrics:reporter metric-registry="metrics" type="slf4j" period="1m"
                  enabled="${metrics.reporter.slf4j.enabled}" />

和属性文件:

代码语言:javascript
复制
metrics.reporter.console.enabled=true
metrics.reporter.slf4j.enabled=false

我希望这是合理的,我已经度过了漫长的一周!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25135007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档