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

Apache Camel-SFTP延迟

唐高朗
2023-03-14

我正在使用Apache Camel与几个SFTPendpoint进行交互;对于每一个,我执行以下管道:

  • 检索现有文件列表
  • 根据一组给定的规则验证这些文件
  • 下载远程文件,如果验证成功

一切工作起来都像一个魅力(大约有一百个不同的endpoint),用于检索文件列表的URI类似于:sftp://${HOST}:${PORT}/${DIR}?username=${USER}&download=false&recursive=true&disconnect=true&sendemptymessageWhenIdle=true

  • 立即返回0个远程文件
  • 需要几分钟时间列出远程内容(由大约250个文件组成,每个文件从2KB到2MB)

此外,在后一种情况下,下载只需10KB的数据需要大约30秒。

由于这只发生在这个特定的SFTP上,我认为它不直接依赖于Camel,它对所有其他endpoint都很好。

    null

共有1个答案

施季
2023-03-14

让我们假设您的版本的Camel SFTP组件中没有bug。

什么会影响这样的连接,导致不合理的延迟(没有网络问题,也没有大量数据需要获取)?

考虑到您的应用程序可以立即返回0个远程文件,在您的应用程序和目标服务器之间存在的问题源相对较低。对于服务器端,它可以是

    null
 类似资料:
  • 我正在尝试向异步路由发送消息,但它不起作用。我刚刚在github上创建了一个项目来模拟这个问题

  • 我正在使用apache camel cxf开发一个Web服务(肥皂),我遇到了这个错误。 Java . lang . illegalargumentexception:Part { http://blue print . camel . ngt . TN/}返回的类型应为[ltn . ngt . camel . blue print . WB _ subscriptions;,而不是org . A

  • 我有一个restendpoint示例。org,返回表单的json响应 我的路线是这样的 我读过关于轮询消费者的内容,但找不到如何继续轮询endpoint的示例,直到它返回“success”响应。 是否应该使用轮询消费者?如果是这样的话,可以举一个与我的案例相关的例子。用于轮询restendpoint的任何其他资源都非常有用。

  • 我试图在聚合器完成后获得一个回复,但是我得到一个异常,我没有指定任何聚合器子项,但是当我指定一个。to()endpoint我没有收到聚合结果。。。这可能吗? 控制器: 聚合器:

  • 我想测试以下骆驼路线。我在网上找到的所有例子都有以文件开头的路由,在我的例子中,我有一个Springbean方法,每隔几分钟就会被调用一次,最后消息被转换并移动到jms以及审计目录。 我对这条路线的写测试毫无头绪。目前我在测试用例中所拥有的是

  • 在apache commons net ftpclient中,有ftpclient.printWorkingDirectory()来获取当前目录的字符串。 如何使用jsch sftp客户机实现同样的功能?有一个名为realpath(String)的方法,但它似乎不对,我无法使其工作。