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

Jdbc Mule-在ArrayList为空时执行某些操作,jdbc,arraylist,maps,mule,payload,Jdbc,Arraylist,Maps,Mule,Payload,我有一个Mule流,它在数据库中查找一个值,并以maps格式返回结果,作为ArrayList。然后,在进行DB调用以检查响应之后,我将直接记录有效负载。良好响应的一个例子是: org.mule.api.processor.LoggerMessageProcessor: [{ID=1234567, NAME=Test}] 我希望在流程的下一阶段中包含一个choice元素,用于处理未找到记录的响应,如下所示: org.mule.api.processor.LoggerMessageProcesso

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

org.mule.api.processor.LoggerMessageProcessor: [{ID=1234567, NAME=Test}]
我希望在流程的下一阶段中包含一个choice元素,用于处理未找到记录的响应,如下所示:

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

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

我刚刚找到了这个问题的答案。像这样检查负载大小:

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

...

我仍然很想知道是否有更好的/替代方法来实现这一点。

[payload==empty]
检查空的有效负载

将对象转换为xml,并使用
[payload!='']

我尝试了相同的方法,但表达式“#[message.payload.size()==0]执行异常”失败。(org.mule.api.expression.ExpressionRuntimeException)。消息负载的类型为:LinkedList?我应该如何解决此错误。