【发布时间】:2013-06-11 23:13:40
【问题描述】:
我正在使用 Mule CE 3.3.0,但 PropertyPlaceHolder 的范围存在问题。假设我有两个 mule 应用程序(writeApp 和 readApp)。在 writeApp 应用程序中,我设置了一个 propertyPlaceholer bean,定义如下:
<spring:bean id="consignmentProperty" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<spring:property name="ignoreUnresolvablePlaceholders" value="true"/>
<spring:property name="locations">
<spring:list>
<spring:value>classpath:connections.properties</spring:value>
<spring:value>.....</spring:value>
</spring:list>
</spring:property>
</spring:bean>
在 readApp 应用程序中,我尝试读取 writeApp 中定义的属性
<mule>
<flow name="readContextVariableFlow1" doc:name="readContextVariableFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8085" path="read" doc:name="HTTP"/>
<append-string-transformer message="${prop.conn}" doc:name="Append String"/>
<object-to-string-transformer doc:name="Object to String"/>
</flow>
</mule>
问题是现在我可以从 readApp 中读取 prop.conn 属性,尽管它是在 writeApp 中定义的。我可以为每个应用程序定义一个特定的文件属性。
提前感谢您的任何帮助
【问题讨论】:
-
当您说“应用程序”时,您的真正意思是 Mule 应用程序(即部署在 Mule 独立设备上的 zip 文件),而不是流程,对吗?
-
是的,我的意思是mule应用程序,即zip文件
-
感谢您的精确。然后,哇,这令人惊讶,除非 Spring 在一个应用程序的系统属性中加载这些道具,并从另一个应用程序的系统道具中获取它们。
-
直接使用
PropertyPlaceholderConfigurer类而不是<context:property-placeholder />元素的任何原因。
标签: spring mule placeholder