6

有人可以让我知道如何在 mule 中连接多个值吗?

就像是,

#[payload.getPayload()].concat(#[getSubject()])
4

4 回答 4

12

我假设您使用的是 Mule 3.3.x 或更高版本。如果是这样,您可以使用 Mule 表达语言(MEL)。

使用 MEL 的一个示例是:

#['Hello' + 'World']

或者 MEL 还允许您使用标准 Java 方法调用:

#[message.payload.concat(' Another String')]

MEL 备忘单

骡子 4 更新

对于 Mule 4。Dataweave 2.0 是主要的表达语言:

简单的连接:

#['Hello' ++ ' World']
于 2013-02-25T21:39:11.987 回答
0

其他替代方法是使用Mule Design插件:

根据需要多次删除“附加字符串”操作。

此操作获取上一步的消息有效负载并将指定的字符串连接到它。不确定性能细节,但肯定会更容易维护。

附加到字符串 - MuleSoft

于 2018-03-27T17:03:06.903 回答
0

您可以使用表达式组件声明字符串缓冲区

<expression-component doc:name="Expression"><![CDATA[StringBuffer sb = new 
    StringBuffer();
    flowVars.stBuffer=sb;
    ]]></expression-component>

然后在流中的任何位置附加使用附加到字符串缓冲区。

flowVars.stBuffer.append("要追加的字符串")

完成后用于#[flowVars.stBuffer]访问连接的字符串

于 2018-03-28T05:33:59.387 回答
0

如果您想在 mule 流中添加通过有效负载接收到的两个不同的值,那么我们可以使用 concat() 方法。

例如下面我们通过arraylist接收到值,我在其中添加了两个不同的字段,即FirstName和LastName -

concat(#[payload[0].'firstname']," "#[payload[0].'lastname']

于 2018-04-16T07:03:13.817 回答