Spring集成 - 如何确定处理已完成

时间:2016-02-06 21:35:23

标签: java spring spring-integration

我在spring集成中定义了以下流程:

  1. 从给定目录中读取和删除消息(带有Web服务请求)
  2. 将其转换为字符串
  3. 使用此消息发送网络服务请求
  4. 流程定义类似于

    IntegrationFlows
                .from(inboundAdapter(getDirectory()))
                .transform(fileToString())
                .handle(sendRequestToWS)
                .get();
    

    给定目录中的消息数量是固定的,我想在所有消息都处理完毕后通知用户。

    你知道我怎么能弄清楚流程已经完成"?

    当目录中没有更多文件时,

    FileReadingMessageSource返回null。所以我需要FileReadingMessageSource的自定义实现,它会在目录为空时发送不同的消息,或者可能有更好的解决方案......

1 个答案:

答案 0 :(得分:0)

FileReadingMessageSource子类化以检测null将起作用;或者您可以向轮询器添加自定义消息源建议 - 请参阅Smart polling

智能轮询器也适用于使用XML配置的人,使用自定义MessageSource并不容易。