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

dan*_*anw 2 maps jdbc arraylist payload mule

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

org.mule.api.processor.LoggerMessageProcessor: [{ID=1234567, NAME=Test}]
Run Code Online (Sandbox Code Playgroud)

我想在流程的下一阶段包括一个选择元素,以处理未找到记录的响应,如下所示:

org.mule.api.processor.LoggerMessageProcessor: []
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我将使用哪个表达式来引导流程?我尝试过#[payload=='']#[payload=='[]'#[payload==null]没有成功。提前致谢。

dan*_*anw 5

我刚刚找到了答案。像这样检查有效负载大小:

<when expression="#[payload.size()==0]">
    ...
</when>
Run Code Online (Sandbox Code Playgroud)

我仍然想听听是否有更好/其他的方式来做到这一点...