0

我有一个普通的普通 servlet 。我正在尝试使用 Spring 类从文件系统加载属性文件ReloadableResourceBundleMessageSource。文件位置由 JVM 参数提供。以下是我对我的MessageSourcebean的声明

<bean id="xmlXpathProperties" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <!-- check property file(s) every 600 second(10min) -->
        <property name="cacheSeconds" value="600"/>
        <property name="basenames">
            <list>
                <value>file:#{systemProperties.aircdrconfig}/cdr-airxml</value>
            </list>
        </property>
/bean>

如果我给 JVM 参数名称提供任何特殊字符,例如点 (.) 或连字符 (-),例如 : air.cdr.config,我会收到类似的异常。

org.springframework.beans.factory.BeanExpressionException Field or property 'air' cannot be found on object of type 'java.util.Properties'

如果我删除点符号,那么它工作正常。有什么想法可以克服这个问题吗?提前致谢。

4

1 回答 1

3

您将需要以这种方式引用属性:

#{ systemProperties['air.cdr.config'] }
于 2013-05-10T13:18:05.800 回答