0

我遇到了一个奇怪的问题。我有一个骡子配置文件。它没有什么真正令人兴奋的东西并且工作正常。至少它奏效了...

当我开始将配置参数放入几个属性文件时,问题就开始了。如果我在一个文件中定义一个属性,它会被解析,但另一个文件没有。

没有错误消息表明读取文件失败或任何...

我的场景告诉我,这与配置文件由 org.mule.config.spring.SpringXmlConfigurationBuilder 读取的事实有关...

有没有人有类似的问题?或者有谁知道到底发生了什么?

4

3 回答 3

1
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:my-mule-app.properties</value>
                <value>classpath:my-mule-app-override.properties</value>
            </list>
        </property>
    </bean>
于 2012-06-20T17:31:42.623 回答
0

我不确定您如何配置上下文占位符,但如果您使用多个属性,则应声明一个逗号分隔的位置列表,如下所示:

<context:property-placeholder
         location="classpath:my-mule-app.properties,
                   classpath:my-mule-app-override.properties" />

如果您需要任何进一步的信息,您可以 在该主题的官方文档页面中找到它们

于 2012-06-20T17:11:43.467 回答
0

多谢你们。

这样神秘的问题就解决了。在我的集成测试中,我需要一个启动的 hornetq/mule 服务器对。对于测试,我想从通常的 spring XML 配置中注入所有可能的对象。所以我在 spring XML 配置文件中定义了我的 MuleServer bean,并使用了将 mule 的配置文件作为字符串数组的构造函数。我不知道(或没有考虑过)MuleServer 类创建了自己的应用程序上下文......

因此,在我的测试应用程序上下文中,我实例化了一个创建自己的应用程序上下文的对象......

由于属性占位符是某种特殊的 bean,并且必须在所有其他 bean 之前初始化,这导致了上述奇怪的行为。

解决方案是我在我的测试 setUp 方法中使用 new 关键字实例化 MuleServer 。

这对我有用。

于 2012-07-12T08:18:28.657 回答