在我的 mule 应用程序中,我在 mule-app.properties 文件中定义了一些属性,因此我可以在 CloudHub 上“即时”更改它。
在 CloudHub 上部署一切正常,并获取我使用的 java 类的属性:
System.getProperty("propertyName")
。
现在我的问题是,在 mule 上独立部署应用程序,当它尝试在 java 类中使用属性时,它返回 null
即使在 xml 文件上我可以使用通常的属性 ${propertyName}
.
有没有其他方法可以从 java 类访问这些属性?
最佳答案
Cloudhub 属性是使用系统属性设置的,这就是您可以通过 System.getProperty() 访问它们的原因。
mule-app.properties 是特殊的,因为此属性文件会自动加载到 Mule 注册表中,因此您可以通过 Mule 上下文访问它。但是最好从你的 Mule 配置中将它们注入(inject)到你的 Java 类中:
<bean class="YourJavaClass">
<property name="myVar" value="${the.key}">
</bean>
public class YourJavaClass{
String myVar ...
}
关于java - 如何在独立部署中从 mule-app.properties 中读取属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27420650/