我遇到了一个奇怪的问题。我有一个骡子配置文件。它没有什么真正令人兴奋的东西并且工作正常。至少它奏效了...
当我开始将配置参数放入几个属性文件时,问题就开始了。如果我在一个文件中定义一个属性,它会被解析,但另一个文件没有。
没有错误消息表明读取文件失败或任何...
我的场景告诉我,这与配置文件由 org.mule.config.spring.SpringXmlConfigurationBuilder 读取的事实有关...
有没有人有类似的问题?或者有谁知道到底发生了什么?
我遇到了一个奇怪的问题。我有一个骡子配置文件。它没有什么真正令人兴奋的东西并且工作正常。至少它奏效了...
当我开始将配置参数放入几个属性文件时,问题就开始了。如果我在一个文件中定义一个属性,它会被解析,但另一个文件没有。
没有错误消息表明读取文件失败或任何...
我的场景告诉我,这与配置文件由 org.mule.config.spring.SpringXmlConfigurationBuilder 读取的事实有关...
有没有人有类似的问题?或者有谁知道到底发生了什么?
<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>
我不确定您如何配置上下文占位符,但如果您使用多个属性,则应声明一个逗号分隔的位置列表,如下所示:
<context:property-placeholder
location="classpath:my-mule-app.properties,
classpath:my-mule-app-override.properties" />
如果您需要任何进一步的信息,您可以 在该主题的官方文档页面中找到它们
多谢你们。
这样神秘的问题就解决了。在我的集成测试中,我需要一个启动的 hornetq/mule 服务器对。对于测试,我想从通常的 spring XML 配置中注入所有可能的对象。所以我在 spring XML 配置文件中定义了我的 MuleServer bean,并使用了将 mule 的配置文件作为字符串数组的构造函数。我不知道(或没有考虑过)MuleServer 类创建了自己的应用程序上下文......
因此,在我的测试应用程序上下文中,我实例化了一个创建自己的应用程序上下文的对象......
由于属性占位符是某种特殊的 bean,并且必须在所有其他 bean 之前初始化,这导致了上述奇怪的行为。
解决方案是我在我的测试 setUp 方法中使用 new 关键字实例化 MuleServer 。
这对我有用。