【问题标题】:spring expression to get file size?弹簧表达式获取文件大小?
【发布时间】:2013-02-04 08:16:42
【问题描述】:

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

<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 实现它?

谢谢!

【问题讨论】:

  • 你的payload是String吗?
  • 有效载荷是消息
  • 所以要测试文件大小?

标签: java spring spring-integration


【解决方案1】:

如果您正在处理Message&lt;File&gt;,则在表达式中使用payload 将引用File。您可以在表达式中访问File 的任何方法。如果文件不存在或长度为零,则以下将路由到 outputChannelB,否则将路由到 outputChannelA

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

请注意使用“安全导航”运算符?. 来确保空值安全。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2012-10-10
    • 2017-09-02
    • 1970-01-01
    • 2013-08-27
    相关资源
    最近更新 更多