如何在int-ftp:outbound-gateway中设置filename-pattern选项?

时间:2015-04-22 10:18:15

标签: spring ftp spring-integration

首先。谢谢你的关注, 我在我的spring集成项目中定义了ftp适配器,我将filename-pattern设置为" *。在"使用ls命令在int-ftp:outbound-gateway中过滤.in扩展名,我确信存在扩展名为.in但返回空列表的文件,我的代码为:

<int-ftp:outbound-gateway id="gatewayLS"
                              session-factory="ftpSessionFactory"
                              request-channel="inbound"
                              command="ls"
                              filename-pattern="*.in"
                              command-options="-R"
                              expression="payload"
                              reply-channel="toSplitter"/>

更新
我定义了一个出站通道适配器来使用该通道:

<int:outbound-channel-adapter channel="toSplitter" method="handle">
        <bean class="ir.ali.integration.handler.Dispatcher"/>
    </int:outbound-channel-adapter>

我的豆是:

@Component
public class Dispatcher {

    @Autowired
    @Qualifier("mvChannel")
    private MessageChannel messageChannel;

    @Autowired
    @Qualifier("toGet")
    private MessageChannel messageChannel1;

    public void handle(List<FileInfo> value) {
        for (FileInfo fileInfo : value) {

            Message<FileInfo> fileInfoMessage = MessageBuilder.withPayload(fileInfo).build();
            if (FileUtil.isExists("./backup/".concat(fileInfo.getFilename()))) {
                messageChannel.send(fileInfoMessage);
            } else {
                messageChannel1.send(fileInfoMessage);
            }
        }
    }
}

但没有工作并返回空列表,我在for中添加了一个波纹管来处理它:

if (!FilenameUtils.getExtension(fileInfo.getFilename()).equals("in"))
            continue;

但工作不正确

0 个答案:

没有答案