我有一个集成案例,从FTP获取xml有效负载,然后使用http出站通道将有效负载发送到webservice,FTP入站通道适配器有一个名为local-directory的强制属性,远程FTP文件将在这里下载,但是当我重新启动时,似乎本地目录中的所有文件都将被重新处理,请问如何避免这种情况?一种可能的方法是删除ftp入站通道适配器中的本地文件,如何做到这一点,你能建议吗?
谢谢
<ftp:inbound-channel-adapter
channel="requestChannel"
session-factory="ftpClientSessionFactory"
remote-directory="/outbound"
local-directory="/temp"
auto-create-local-directory="true"
delete-remote-files="false"
filename-pattern="*.xml"
temporary-file-suffix=".writing">
<int:poller fixed-delay="5000" max-messages-per-poll="10"/>
</ftp:inbound-channel-adapter>
<int:chain id="inboundChain" input-channel="requestChannel" output-channel="replyChannel">
<int:transformer ref="xmlToJsonTransformer" />
<int:transformer ref="jsonToMapTransformer" />
<int:header-enricher>
<int:header name="Content-Type" value="application/json" overwrite="true"/>
</int:header-enricher>
<http:outbound-gateway expected-response-type="java.lang.String"
url="http://localhost:8080/postService/postupdate"
http-method="POST"
extract-request-payload="true"
request-factory="requestFactory">
</http:outbound-gateway>
</int:chain>
向出站网关添加ExpressionEvaluatingRequestHandlerAdvision
以删除该文件。请参见重试和更多示例中的表达式评估建议演示以获得一个示例-它根据成功或失败删除或重命名文件。
问题内容: Spring Integration FTP中的入站通道适配器和出站通道适配器之间有什么区别?我应该使用哪一个?何时使用? 我从文档中了解到,出站可以发送任何类型的文件(例如byte [],String,java.io.File),但入站仅限于文件类型。那仅仅是区别还是其他? 问题答案: 我建议您首先阅读理论 。 任何Inbound适配器都旨在从外部系统获取数据。Outbound-放置
问题内容: 我已经配置了spring SFTP以将文件从远程路径集中到本地,以处理一些作业,然后同时删除本地和远程文件。 下面的配置工作正常,除了删除本地文件外,我没有找到任何配置来删除本地文件,例如 这里,当文件从远程传输到本地时,服务激活器被调用。 服务激活器完成作业后,如何配置删除本地文件? 编辑:通过以下更改解决了从远程和本地删除有效负载的问题: 问题答案: 消息发送到流之后,入站适配器永
对于Spring Integration FTP入站通道适配器,如果我没有显式设置,是否可以使用远程过滤器的值作为默认值? 例如,在我的用例中,远程目录包含、等,模式将让我成功下载所有这些文件。但是,如果我的本地目录包含附加文件,例如,则将生成、和s的所有3个文件。 我认为,如果本地筛选器默认情况下尊重远程筛选器(如果我没有显式设置),即只生成和两条消息,则更有意义。
如果我创建一个SFTP入站通道适配器,并使用在SFTP中配置为channel属性的通道发送一些文件。文件将传输到SFTP远程目录本地目录,还是直接从通道流到本地目录
问题内容: 入站和出站通道适配器之间的根本区别是什么? 任何示例都将非常有帮助。 我已经查看过Spring文档,这种“方向性”的区别对我来说还不清楚。我支持配置了outbound-channel-adapter的应用程序,但是我发现使用 出站 标签可以直观地了解行为计数器。该适配器获取一个外部文件,然后 将其 引入应用程序中, 在 该应用程序中我们解析文件并保留数据。 这类似于这个问题,但是我想更