【发布时间】:2017-09-21 13:19:54
【问题描述】:
我每秒从 mulesoft 中的 SFTP 轮询一次,fileAge 设置为 0,连接池大小为 1,并且启用了自动删除。然后我将文件保存到文件连接器内的目录中,该连接器每 2 秒轮询一次,文件年龄为 500(这是出站端点。然后下一个流程从与文件入站端点相同的目录开始并处理文件。这里是轮询设置为每 3 秒并启用自动删除。我收到此错误,但文件已处理..
java.io.IOException: The requested file does not exist (//file/7ggot1517.txt)
at org.mule.transport.sftp.SftpClient.getSize(SftpClient.java:499)
at org.mule.transport.sftp.SftpClient.retrieveFile(SftpClient.java:378)
...
有没有人知道如何配置 sftp 和文件连接器:
1.Read File From SFTP and delete it from SFTP
2.处理本地目录下的文件并删除?
3.摆脱那个错误
谢谢
【问题讨论】:
-
您能否复制/粘贴与您的问题相关的 XML 流?没有它,您的流程正在经历哪些步骤还不够清楚;)
-
当然 :) 这是从 sftp
<flow name="pullFromSftpFlow"> <sftp:inbound-endpoint connector-ref="SFTP" host="${ftp.host}" port="${ftp.port}" path="${ftp.path}" user="${ftp.user}" password="${ftp.password}" doc:name="SFTP" responseTimeout="10000"/> <file:outbound-endpoint path="C://SFTP" outputPattern="#[message.inboundProperties.originalFilename]" connector-ref="File2" responseTimeout="10000" doc:name="File"/> </flow>进行轮询的第一个流程 -
这是file2设置
<file:connector name="File2" autoDelete="false" streaming="false" validateConnections="true" doc:name="File" pollingFrequency="2000"/,SFTP设置为polling frequency 1000,fileAge:0,autodelete:true,sizeCheckwaitTime:0 -
然后源是文件入站端点的下一个流看起来像这样
<file:inbound-endpoint path="C://SFTP" connector-ref="File" responseTimeout="10000" encoding="US-ASCII" doc:name="File" pollingFrequency="3000" autoDelete="true"> </file:inbound-endpoint> <set-variable variableName="fileName" value="#[flowVars.originalFilename]" doc:name="Save fileName"/> <logger message="#[&quot;File obatained : &quot; +flowVars.fileName]" level="INFO" doc:name="Logger"/>,然后它去处理那个文件..希望你能帮忙:) -
谢谢,您也可以编辑您的答案以添加此类详细信息,更易于阅读;)因此,如果我理解正确,您的文件已正确处理,但您的日志中仍有此错误?跨度>
标签: java file groovy mule sftp