mule/java从java类读取jar依赖项内部的属性文件
这里我的需求是,我创建了一个具有java类的mule应用程序。我不想将其中一些值作为硬编码保存,所以我尝试将其外部化。我在mule应用程序中保留了这些值。属性文件和使用的FileInputStream如下
String propFileName = "src/main/app/mule-app.properties"
Properties property = new Properties();
property.load(new FileInputStream(propFileName));
但这段代码需要部署在CloudHub上;没有找到那个文件,这是失败的。我尝试将文件名的路径设为
String propFileName = "target/classes/mule-app.properties"
对于这两种情况,它在本地运行良好,但在CloudHub上的结果与“未找到文件”相同
解决办法是什么
另一件事是我有一个共同的代码,在其中我们保留了与不同环境相关的所有属性。这个通用代码的打包是以jar的形式进行的。所以,我可以保留我在上面代码中使用的属性,并从jar本身读取它吗
如果是的话,怎么做
# 1 楼答案
为了实现这一点,我们可以做一件事。为每个要获取的属性使用expression component set变量
这个流变量在Java类中是可访问的,无论它保存在哪里,例如mule app。属性或cloudhub运行时属性
在Java类中,使用下面的代码我们可以读取这个流变量
# 2 楼答案
使用下面的示例代码,它应该可以工作