问题标签 [camel-ftp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
131 浏览

java - 骆驼:如何在文件组件中使用相同的标题

我有需要从队列中读取消息的要求。队列有正文和标题,我想在下一个处理器的每个文件读取中使用这个正文和标题。

地点

/home/arvind/桌面/骆驼/索引

在处理所有文件和文件夹时,我有很多文件夹和文件我想要标题(来自activemq)。

我尝试在打印处理器中从 in.header 到 header header 并在 out.header 中设置但没有用。

谢谢

0 投票
1 回答
1277 浏览

java - Apache Camel FTP 获取无法检索文件:RemoteFile 错误

我正在尝试使用 Camel FTP 组件(Camel 2.19.0)检索文件:

Camel 正在正确连接并列出目录中的文件,但是当它去处理它们时,它会为每个文件抛出以下异常:

从 TRACE 日志中,我可以看到 Camel 正确列出了目录中的文件:

但是,当 Camel 尝试处理每个文件时,它似乎将相对目录添加到绝对目录之前,并且无法找到生成的乱码路径:

FTPComponent构建的日志中的这条路径不正确:

检索文件:my/relative/directory//absolute/path/to/directory/file1.txt

我调试了 Camel FTP 消费者,看起来第 238 行是相对路径被添加到绝对路径的位置

有趣的是,SFTP 组件正在做同样的事情,但它正在工作,因为RemoteFileOperations<ChannelSftp.LsEntry>它没有将文件名设置为绝对路径,但RemoteFileOperations<FTPFile>确实如此。

有没有人有任何建议来解决这个问题以让 FTP 组件使用文件?还是我做错了什么?

我正在使用骆驼 2.19.0

0 投票
0 回答
843 浏览

apache-camel - 骆驼 FTP 消费者有移动和流下载问题?

streamDownload我有一个问题,FTP2 使用者(Camel 2.19.3)在启用该属性后处理文件后无法移动文件。当它设置为false路由按预期工作但当属性是true骆驼时无法移动文件。

路由配置(Java DSL)如下所示:

这是我收到的错误消息的示例:

这是一个 Wireshark 捕获,显示了当streamDownload设置为时失败运行的交互true

似乎 Camel 正在尝试删除和重命名文件,而该文件仍被 FTP 服务器锁定(即被路由消耗)。

现在,在将streamDownload设置更改为 后,这是成功运行的 Wireshark 捕获false

顺便说一句:stepwise=true如果你想知道,改变没有任何区别。

我究竟做错了什么?这是一个错误还是我试图做一些骆驼不支持的事情?

问候, 马特

0 投票
1 回答
151 浏览

apache-camel - 重用 Camel FTP 路由

我有一个全局定义的 FTP Camel 路由。它是从另一条路线开始的:

并在另一个线程中停止,如此所述:

它工作正常。现在我想重新开始这条路线。假设我在文件夹中添加了新文件并想再次下载它们,或者重新下载下载的文件。
因此,我使用相同的命令再次启动这条路线,但它不会下载文件 - 它根本看不到它们,因为它们在路线中的某处标记为已下载。而如果我从骆驼上下文中删除这条路线,然后再次添加它并开始 - 它可以工作 - 它会再次下载文件。

所以问题是如何重用(开始-停止-开始)现有路线,使其作为新路线开始?

0 投票
1 回答
748 浏览

apache - 如何在 2 个不同的应用程序或战争之间共享骆驼上下文

我创建了 2 个不同的应用程序,并在其中一个中启动了骆驼上下文。如何在第二个应用程序中使用这个已经启动的上下文?

我尝试通过使用 lookUpByname() 并将骆驼上下文与 jndi 上下文绑定来获取上下文,但可以加载现有上下文。

还尝试通过在应用程序 1 的上下文中设置 NameStrategy 并在应用程序 2 中获得相同的结果,但看起来骆驼自动在 DefaultCamelContextNameStrategy 中生成名称和前缀。

请指导我在不同的应用程序中获取已经启动的上下文,因为我想避免每次都创建新的上下文。

0 投票
2 回答
344 浏览

apache-camel - 如何确保只有一台服务器读取 CAMEL 文件?

我正在使用 camel-jcifs 并读取文件。每件事都很好。该应用程序将部署在四个服务器实例上。现在我的问题是如何确保一次只有一台服务器拾取文件?

我得到了使用 infinispan 并写入正在进行的文件的共享缓存的建议。

有人可以建议其他可能的解决方案吗?

问候,萨拉达。

0 投票
1 回答
221 浏览

apache-camel - ftp 消费者流下载 seda 队列在拆分器 tariterator 期间失败

首先是我的要求的一点背景:

  • 从多个动态定义的只读 ftp/sftp 站点下载大型 tar.gz 文件。
  • 根据条目名称的扩展名处理 .tar.gz 中的文件。
  • 使用骆驼 2.19.3

我的解决方案是使用 download=false 定义新路由,以仅获取未处理文件的列表。示例路线是:

将文件名发送到 seda 队列,该队列使用 streamDownload 下载文件并将 RemoteFile 发送到定义为的处理路由器:

解包路径定义为:

首先,这是支持并发 ftp 消费者的好解决方案吗?我看到新的 FTPClient 实例是在同一个线程上创建和处理的。有更好的解决方案吗?

其次,使用 seda 队列处理流时会出现随机 tar 错误。如果使用直接而不是 seda 以便只处理单个文件,则不会发生错误。这似乎指向一个并发问题。我错过了一些明显的东西吗?

提前感谢您的帮助。

0 投票
1 回答
85 浏览

apache-camel - Apache Camel FTP 文件应由单个服务器使用

我有两台服务器轮询到相同的 ftp 位置。当文件放置在该位置时,两个服务器都在挑选文件。但我只需要一台服务器来选择文件并处理和删除。我使用的是 Camel 2.16.2 版本。有没有办法解决这个问题?

0 投票
1 回答
892 浏览

java - 带有 Spring XML 的 Apache Camel SFTPConfiguration

我正在开发一个使用带有 SFTP 端点的 Apache Camel 的旧版应用程序。Camel 上下文是使用 Spring Xml Dsl 定义的,例如

我需要使用SFTPConfiguration对象配置 Camel SFTP,但不知道如何连接它,因为我正在使用 Spring。

我可以使用 Spring 在 XML 文件中创建 bean 并且 Camel 会自动检测它吗?

0 投票
1 回答
798 浏览

java - Camel 保持 SFTP 连接打开导致内存泄漏

我一直在分析我们的一个应用程序中的内存泄漏,在分析堆转储时,我发现 >98% 的内存被 Camels 占用SharedProducerServicePool。基本上它在它的池中保留了很多RemoteFileProducer在这个特定的样本中大约 41k)。他们都有一个SftpEndpoint.

以下是最终通过 SFTP 上传文件的 Camel 路由:

SFTP 连接未关闭或生产者创建但未再次停止的原因可能是什么?我在官方文档中找不到提示。

非常感谢任何帮助:)

注意:这里使用的 Caml 版本是 Camel 2.17.0