Mulesoft 没有从正确的文件中读取属性?
Mulesoft doesn't read properties from right file?
我对我的项目进行了 mavenize,试图找到处理 DEV、Pre-Production 和 Production 属性的正确方法。
我创建了一个名为 mule.env 的 属性,并添加了上下文 属性,例如
<context:property-placeholder location="${mule.env}.properties"/>
我有 mule-app.properties 和 mule-deploy.properties,它们的内容如下
mule-app.properties
c3=c3.p1
c2=c2.p1
c1=c1.p1
mule.env=dev
mule-deploy.properties
c4=c4.p2
c3=c3.p2
redeployment.enabled=true
c2=c2.p2
encoding=UTF-8
config.resources=test-config.xml
domain=default
资源下有一个dev.properties,
dev.properties
c1=c1.dev
c2=c2.dev
c3=c3.dev
c4=c4.dev
而且我有一个流程来显示设置有效负载中的属性
<flow name="test-configFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
<set-payload value="c1:${c1} <br/> c2:${c2} <br/> c3:${c3} <br/> ${mule.env}" mimeType="text/html" doc:name="Set Payload"/>
</flow>
结果是
c1:c1.p1
c2:c2.p1
c3:c3.p1
dev
我希望结果像
c1:c1.dev
c2:c2.dev
c3:c3.dev
dev
因为属性应该来自 dev.properties
有什么想法吗?
这很明显,因为在您的 mule-app.properties
中包含:
c3=c3.p1
c2=c2.p1
c1=c1.p1
mule.env=dev
这将覆盖资源
下 dev.properties
的值
解决方案:删除
c3=c3.p1
c2=c2.p1
c1=c1.p1
来自 mule-app.properties
。所以,你 mule-app.properties
应该 只包含 :
mule.env=dev
没有其他值
我对我的项目进行了 mavenize,试图找到处理 DEV、Pre-Production 和 Production 属性的正确方法。 我创建了一个名为 mule.env 的 属性,并添加了上下文 属性,例如
<context:property-placeholder location="${mule.env}.properties"/>
我有 mule-app.properties 和 mule-deploy.properties,它们的内容如下
mule-app.properties
c3=c3.p1
c2=c2.p1
c1=c1.p1
mule.env=dev
mule-deploy.properties
c4=c4.p2
c3=c3.p2
redeployment.enabled=true
c2=c2.p2
encoding=UTF-8
config.resources=test-config.xml
domain=default
资源下有一个dev.properties,
dev.properties
c1=c1.dev
c2=c2.dev
c3=c3.dev
c4=c4.dev
而且我有一个流程来显示设置有效负载中的属性
<flow name="test-configFlow">
<http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/>
<set-payload value="c1:${c1} <br/> c2:${c2} <br/> c3:${c3} <br/> ${mule.env}" mimeType="text/html" doc:name="Set Payload"/>
</flow>
结果是
c1:c1.p1
c2:c2.p1
c3:c3.p1
dev
我希望结果像
c1:c1.dev
c2:c2.dev
c3:c3.dev
dev
因为属性应该来自 dev.properties
有什么想法吗?
这很明显,因为在您的 mule-app.properties
中包含:
c3=c3.p1
c2=c2.p1
c1=c1.p1
mule.env=dev
这将覆盖资源
下 dev.properties
的值
解决方案:删除
c3=c3.p1
c2=c2.p1
c1=c1.p1
来自 mule-app.properties
。所以,你 mule-app.properties
应该 只包含 :
mule.env=dev
没有其他值