如何检查 mule 的选择组件中的有效负载是否为空?

How to check whether the payload is null within choice component in mule?

我正在使用存储过程检索一些数据并在 mule 的数据库连接器中调用它。当我传递一个数据库中不存在的值时,我必须包含一个条件,它应该捕获错误。为此,我使用了一个选择组件,我必须在其中检查有效负载是否为空。但是当 运行 在调试模式下的流程我发现 payload 持有价值 {resultSet1=[]}。我尝试了 #[message.payload.isEmpty()]#[message.payload!=null]#[payload.resultSet1 != null]。但他们没有工作。任何人都可以帮助解决这个问题。提前致谢。

您可以使用 empty 检查:

Testing for Emptiness: The special literal empty tests the emptiness of a value. It returns an empty value depending on context. empty evaluates to:

  • null

  • boolean false

  • empty strings or strings containing only white space

  • zero

  • empty collections

The expression #[foo == empty] evaluates to true if the value if foo satisfies any of the requirements for emptiness.

你的情况是

#[payload.resultSet1 != empty]

您可以尝试与“null”或“0”进行比较,或者简单地与 "empty" 进行比较,它应该适合您:)

 #[payload == empty] 

应该可以。

最好的方法是#[payload != null && payload.size()>0]