我正在使用apache camel 2.15.1,我有三个属性文件在类路径中特定于环境,如myprop.properties, myprop-enva.properties, myprop-envb.properties.
我在camelcontext中使用propertyplaceholder,我可以加载myprop.properties。
当websphere env.prop = _enva
时,我不知道如何加载myprop-enva.properties我当前的配置看起来像这样..
<propertyPlaceholder location="classpath:myprop.properties" //Here I need to modify to make it work
id="placeholder1" />
我尝试更改为location="classpath:myprop${env.prop}.properties"
,但没有效果。
答案 0 :(得分:1)
您可以使用blueprint属性占位符,然后将从服务器加载特定于环境的cfg文件。不同的服务器 - 不同的cfg文件。
或者您可以在包阶段将特定属性文件放入包中(使用maven配置文件)。
extension Array {
mutating func shuffleString() {
for index in 0..<(count - 1) {
let j = Int(arc4random_uniform(UInt32(count - index))) + index
guard i != j else { continue }
swap(&self[index], &self[j])
}
}
}
答案 1 :(得分:1)
您可以添加属性文件的所有位置,并添加ignore选项,然后Camel将跳过不存在的文件。在该位置,您可以参考ENV名称。
查看Camel文档中的更多详细信息