如何轮询 int:gateway 以启动 int-ftp:outbound-gateway?

how to polling int:gateway to start int-ftp:outbound-gateway?

首先感谢关注
我在目标服务器上将出站网关 ftp 适配器定义为 运行 ftp 命令,我的目标是 运行 在服务器上定期执行 ls、mv、get、... 命令和 运行批处理库任务,我的代码是:

   <bean id="ftpClientFactory1" class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory">
    <property name="host" value="127.0.0.1"/>
    <property name="port" value="21"/>
    <property name="username" value="banks_reader"/>
    <property name="password" value="123456"/>
    <property name="clientMode" value="2"/>
    <property name="fileType" value="2"/>

</bean>

<int:gateway id="gw" service-interface="ir.ali.util.ToFtpFlowGateway"
             default-request-channel="inbound1"/>
<int:channel id="inbound1"/>

<int-ftp:outbound-gateway id="gateway1"
                          session-factory="ftpClientFactory1"
                          request-channel="inbound1"
                          reply-channel="outbound"
                          reply-timeout="777"
                          auto-create-local-directory="false"
                          auto-startup="true"
                          filename-pattern="*"
                          remote-file-separator="/"
                          command="ls"
                          command-options="-dirs -R"
                          expression="payload"
                          mput-regex=".*"

        >
</int-ftp:outbound-gateway>
<int:channel id="outbound">
    <int:interceptors>
        <int:wire-tap channel="logger"/>
    </int:interceptors>
</int:channel>
<int:channel id="outboundJobRequestChannel"/>
<int:logging-channel-adapter id="logger" log-full-message="true" />

<int:transformer input-channel="outbound"  output-channel="outboundJobRequestChannel">
    <bean class="ir.ali.configuration.FileMessageToJobRequest"/>
</int:transformer>

<int:splitter id="splitter" input-channel="outbound" output-channel="ftpChannel"/>

<int:channel id="ftpChannel">
    <int:queue/>
</int:channel>

并在应用程序 Class 中向 inbound1 频道发送消息并启动 int-ftp:outbound-gateway 代码为:

 final ToFtpFlowGateway toFtpFlow = ctx.getBean(ToFtpFlowGateway.class);
    try  {
        List<Boolean> rmResults = toFtpFlow.lsGetAndRmFiles("/");
    } catch (Exception e) {
        e.printStackTrace();
    }

它工作正常,问题是我需要 运行 定期 ls 和 mv ,...服务器上的递归命令,如何 运行 toFtpFlow.lsGetAndRmFiles("/");定期开始int-ftp:outbound-gateway

<int:inbound-channel-adapter expression="/" channel="inbound1">
    <int:poller fixed=delay="60000" />
</int:inbound-channel-adapter>

<int:channel id="inbound1"/>

<int-ftp:outbound-gateway id="gateway1"
                      session-factory="ftpClientFactory1"
                      request-channel="inbound1"
                      reply-channel="outbound"
                      reply-timeout="777"
                      auto-create-local-directory="false"
                      auto-startup="true"
                      filename-pattern="*"
                      remote-file-separator="/"
                      command="ls"
                      command-options="-dirs -R"
                      expression="payload"
                      mput-regex=".*"/>