来自流变量的Mule load属性值

时间:2017-05-12 18:40:13

标签: mule

我有一个场景,我需要从属性文件中获取值,而我需要获取的值将来自变量。

我的道具档案

org1 =active
org1_oracle_user = blah
org1_oracle_password = blahblah
org2 =active
org2_oracle_user = blah2
org2_oracle_password = blah2blah2
org3 = Active
org3_oracle_user = blah3
org3_oracle_password = blah3blah3

现在我通过一些输入得到了组织的价值,我能够保存到某个变量中。

<set-variable variableName="org_name" value="org1" doc:name="OrgNameVariable" />

此外,我可以通过dataweave

获取该组织的状态是否有效
<set-variable variableName="orgTypeStatus" value="#[dw('p(flowVars.org_name)')]" doc:name="orgTypeStatusVariable" />

我能够将值检索为有效值

但是现在我如何将其他键值附加到流变量org_name 获得他们的用户和密码

 <set-variable variableName="m_user" value="#[dw('p(flowVars.org_name.concat('_oracle_user'))')]" doc:name="user"/>

上面的代码无效,表示执行表达式失败。

我给出了一个示例示例,因为有其他基于组织名称的道具,我无法对其进行硬编码

1 个答案:

答案 0 :(得分:1)

你可以尝试这个表达式: -

#[dw('p(flowVars.org_name ++ "_oracle_user")')]

因此,您需要在表达式中转义"",因此XML配置中的变量将如下所示: -

<set-variable variableName="m_user" value="#[dw('p(flowVars.org_name ++ &quot;_oracle_user&quot;)')]" doc:name="user"/>