【问题标题】:pollEnrich from FTPpollEnrich 从 FTP
【发布时间】:2020-11-17 03:56:55
【问题描述】:

我正在尝试使用 pollEnrich 在 FTP 服务器上使用动态选择的远程文件进行丰富。远程文件必须保留在原处,并且可以一次又一次地选择,因此端点具有 noop=true 和 idempotent=false。一切似乎都工作正常,直到多个使用相同远程文件进行扩充的请求开始进入,这导致除了少数请求之外的所有请求都收到了聚合策略中新交换参数的空正文。以下是路线的相关部分,稍作修改后发布在此处:

.pollEnrich()
  .simple("ftp://username:password@ftp.example.com/path/files?fileName=${header.sourceFilename}&passiveMode=true&noop=true&idempotent=false")
  .timeout(0)
  .cacheSize(-1)
  .aggregationStrategy(myEnrichmentAggregationStrategy)

我改用 file:// 而不是 ftp:// 作为测试,但仍然遇到同样的问题。我还尝试了超时、cacheSize 的不同模式,并且还启用了 streamCaching,因为主体是 InputStream。我现在正在考虑实现一个自定义读锁机制(processStrategy),但这感觉像是一个长期的解决方法。有没有其他人遇到过这个问题并且可以阐明什么是错误的?

【问题讨论】:

    标签: apache-camel camel-ftp


    【解决方案1】:

    我相信我找到了一个解决方案,它使用轮询使用者的inProgressRepository 属性来设置IdempotentRepository 的虚拟实现,允许我禁用检查正在进行的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-08
      • 1970-01-01
      • 2019-12-14
      • 1970-01-01
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      相关资源
      最近更新 更多