0

我是春季集成的新手。我在网上看到了下面的例子。

<int:router input-channel="inChannel" expression="payload.paymentType">
    <int:mapping value="CASH" channel="cashPaymentChannel"/>
    <int:mapping value="CREDIT" channel="authorizePaymentChannel"/>
    <int:mapping value="DEBIT" channel="authorizePaymentChannel"/>
</int:router>

类似于上面的逻辑,我的要求是如果有效载荷长度为零,那么它应该映射到一个通道,如果有效载荷大小大于一,那么它应该被定向到不同的通道。如何使用 SpEL 实现它?

谢谢!

4

1 回答 1

0

如果您正在处理 a Message<File>payload则在表达式中使用将指代File. 您可以访问File表达式中的任何 ' 方法。outputChannelB如果文件不存在或为零长度,则以下将路由到outputChannelA

<int:router input-channel="inputChannel" expression="payload?.length() > 0 ? 'outputChannelA' : 'outputChannelB'" />

注意使用“安全导航”操作符?.来保证空值安全。

于 2013-02-04T15:20:36.467 回答