当前位置: 首页 > 知识库问答 >
问题:

Spring Integration通过出站网关递归获取FTP文件

虞祯
2023-03-14

我尝试了出站网关,如:
中所述

https://github.com/spring-projects/spring-integration-samples/blob/master/basic/ftp/src/test/resources/meta-inf/spring/integration/ftpoutboundgatewaysample-context.xml

http://forum.spring.io/forum/spring-projects/integration/104612-inbound-ftp-polling-sub-directories?p=604430#post604430

我的配置:

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

<int-ftp:outbound-gateway id="gatewayLS"
    cache-sessions="false"
    session-factory="ftpSessionFactory"
    request-channel="inbound"
    command="ls"
    command-options=""
    expression="'/images/*/*'"
    reply-channel="toSplitter"/>

<int:channel id="toSplitter" />
<int-stream:stdout-channel-adapter channel="toSplitter" append-newline="true"/>

我看不出我错过了什么。有人能帮忙吗?

附言。我使用的是Spring Integration 2.2.6,没有升级到4.0.2(最新版本)的选项,因为我使用的是一个框架。否则我会对网关使用-r选项!

共有1个答案

堵泽宇
2023-03-14

我刚刚用foo/foo/bar/qux.txtfoo/foo/baz/fiz.txt测试了

<int-ftp:outbound-gateway id="gatewayLS"
    session-factory="ftpSessionFactory"
    request-channel="inbound"
    command="ls"
    command-options="-1"
    expression="'foo/*/*'"
    reply-channel="toSplitter"/>

而且效果很好;不出所料...

11:34:55.983 DEBUG[main]...[Payload ArrayList content=[fiz.txt,qux.txt]]...

 类似资料:
  • 我试图实现某种代理作为我的数据流的一部分,我想在我的入站网关上接收超文本传输协议请求,并通过出站网关传递它。我想保留所有查询字符串参数。我的网关配置是: 我预计它的工作如下: > GET/services/normalization q=cat 入站网关接收请求,并将其通过搜索请求通道发送到出站网关。 出站网关向外部服务发送整个请求: 获取/查询q=cat 但实际上,出站网关发送不包含任何查询参数

  • 问题内容: 我正在尝试使用命令行ftp客户端通过ftp文件夹,但是到目前为止,我只能使用’get’来获取单个文件。 问题答案: 您可以依靠通常可以正常处理ftp的wget(至少以我自己的经验)。例如: 您也可以使用适合镜像的。目前等同于。 如果凭据详细信息中包含一些特殊字符,则可以指定和参数以使其生效。具有特定字符的自定义登录的示例: 编辑 @asmaier指出,请注意,即使要进行递归,它的默认最

  • 问题内容: 请注意,Google新闻在每篇文章摘要的底部都有来源。 卫报-美国广播公司新闻-路透社-彭博社 我正在尝试模仿。 例如,提交网址后,我想返回 php这怎么可能? 问题答案: 我的答案正在扩展@AI W使用页面标题的答案。以下是完成他所说的代码。 输出值 华盛顿时报-政治,最新消息,美国和世界新闻 如您所见,这并不完全是Google所使用的,因此这使我相信他们可以获得URL的主机名并将其

  • 在带有Java配置的ftp出站网关的Spring集成文档示例(16.8.1)中,如何将应答通道的有效负载记录到控制台?

  • 我想配置一个带有JavaDSL的网关,以递归方式从FTP服务器读取所有文件,因为它们位于不同的文件夹中。 我怎么做?请给我一个特别的代码示例

  • 问题内容: Spring Integration FTP中的入站通道适配器和出站通道适配器之间有什么区别?我应该使用哪一个?何时使用? 我从文档中了解到,出站可以发送任何类型的文件(例如byte [],String,java.io.File),但入站仅限于文件类型。那仅仅是区别还是其他? 问题答案: 我建议您首先阅读理论 。 任何Inbound适配器都旨在从外部系统获取数据。Outbound-放置