Mule - 当ArrayList为空时执行某些操作

时间:2014-03-25 15:29:49

标签: jdbc arraylist maps mule payload

我有一个Mule流,它在数据库中查找值并以mapList形式返回结果,作为ArrayList。然后我在进行数据库调用后直接记录有效负载以检查响应。良好反应的一个例子是:

org.mule.api.processor.LoggerMessageProcessor: [{ID=1234567, NAME=Test}]

我想在流程的下一个阶段包含一个choice元素来处理没有找到记录的响应,如下所示:

org.mule.api.processor.LoggerMessageProcessor: []

在这个实例中,我将使用哪个表达式来指导流程?我已尝试#[payload=='']#[payload=='[]'#[payload==null]但没有成功。提前谢谢。

3 个答案:

答案 0 :(得分:5)

我刚刚发现了答案。检查有效负载大小如下:

<when expression="#[payload.size()==0]">
    ...
</when>

如果有更好/替代的方法,我仍然有兴趣听听......

答案 1 :(得分:1)

#[payload == empty]检查空载荷

答案 2 :(得分:0)

将对象转换为xml并使用#[payload != '<linked-list/>']

进行过滤