问题标签 [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 投票
1 回答
480 浏览

java - 每天使用 Camel 从 FTP 服务器读取带日期戳的文件

我正在尝试每天在 16:15 从 FTP 服务器读取带有日期戳的文件。为了了解如何执行此操作,我尝试连接到 FTP 服务器,每分钟一次,每次都增加文件号。

到目前为止,我编写的代码是:

当我运行它时,它"Triggered the process"每分钟打印一次。它也在呼唤getFtpServerUrl

它不是在召唤RateServiceImpl.update。它没有记录"Downloaded file ${file:name} complete."

  • 我会以错误的方式解决这个问题吗?
  • 有没有更简单的方法来每分钟构造文件名?
  • 为什么不RateServiceImpl.update叫?
0 投票
1 回答
321 浏览

ftp - 如果 ftp 上的文件被锁定,如何抛出异常?春天的DSL

我的路线是从端点轮询 ftp://localhost:21/folder?username=user&password=password&delay=15s&move=processed&moveFailed=error&sendEmptyMessageWhenIdle=true&passiveMode=true. 如果我只是添加readLock=rename,Camel 将忽略麻烦的文件并将其保留在文件夹中。

如何实现骆驼行为,以便如果文件在或尝试 仍被某人锁定,骆驼不会跳过文件,而是抛出异常。readLockTimeoutn

0 投票
1 回答
1400 浏览

java - 在使用来自 SFTP 的文件期间无法创建新的本地工作文件

我正在使用骆驼版本 2.15.2

我有一个端点

我执行以下操作从 SFTP 获取命名文件

当我在我的电脑(OS = windows)上启动我的应用程序时......一切都很好。该文件从 SFTP 获取。如果应用程序在另一台机器上运行,我认为测试是个好主意......所以我将我的 jar 复制到 SFTP(OS = linux)并在那里运行......(它是文件所在的同一台机器放置)

现在我得到以下异常:

谁能告诉我为什么我得到这个异常 - 而不是从 SFTP 获取文件?

0 投票
2 回答
9387 浏览

apache-camel - 如何从 Camel FTP 路由交换中获取实际的文件对象

在我的骆驼路由器中:

我怎样才能做到这一点?

我试过例如exchange.getIn().getHeader(Exchange.FILE_NAME, String.class),它给了我文件名。我正在寻找Exchange.FILE能给我实际文件对象的东西。我的最终目标是在处理器中提取文件,因为路由交换是存档文件。

0 投票
2 回答
2004 浏览

java - 如何让 Camel FTP 仅按需获取一次

我对骆驼相当陌生。

我一直在尝试让 Camel 仅按需通过 FTP 获取单个文件。我无法让它工作。这是我尝试过的。让我知道什么是最好的方法以及我的代码有什么问题。

1-读取文件后发送空消息,当收到空消息时,停止路由。

还有我的 RouteStopper

我第一次打电话时它实际上工作正常producerTemplate.sendBody("direct:myStart", null);

但是我第二次打电话时producerTemplate.sendBody("direct:myStart", null);得到了这个:

我想我想要做的不是完全停止我的路......所以我尝试了另一种方式......

2- 实施 PollingConsumerPollStrategy

}

在我的路线中:

我得到的是

3 -如果我不停止任何事情(如下面的评论中所建议的那样),当找不到文件时,路由似乎永远不会停止轮询我的 FTP 。我只给我的路线打了一次电话:

和路线

查看日志:

2015-08-05 08:55:28,942 DEBUG [correlation-ids:faad163b-f68e-4e91-b5fd-e5e2f86d42bd,user:] [(camelContext)-1] (org.apache.camel.component.file.remote.RemoteFileConsumer:152) TelechargementMetadonneesRouteBuilder- Not connected/logged in, connecting to: ftp://pierre@localhost:21 2015-08-05 08:55:28,943 INFO [correlation-ids:faad163b-f68e-4e91-b5fd-e5e2f86d42bd,user:] [(camelContext)-1] (org.apache.camel.component.file.remote.RemoteFileConsumer:156) TelechargementMetadonneesRouteBuilder- Connected and logged in to: ftp://pierre@localhost:21 2015-08-05 08:55:28,945 DEBUG [correlation-ids:faad163b-f68e-4e91-b5fd-e5e2f86d42bd,user:] [(camelContext)-1] (org.apache.camel.component.file.GenericFileConsumer:130) TelechargementMetadonneesRouteBuilder- Took 0.002 seconds to poll: 2015-08-05 08:55:28,945 DEBUG [correlation-ids:faad163b-f68e-4e91-b5fd-e5e2f86d42bd,user:] [(camelContext)-1] (org.apache.camel.component.file.remote.RemoteFileConsumer:121) TelechargementMetadonneesRouteBuilder- Disconnecting from: ftp://pierre@localhost:21 2015-08-05 08:55:29,446 DEBUG [correlation-ids:faad163b-f68e-4e91-b5fd-e5e2f86d42bd,user:] [(camelContext)-1] (org.apache.camel.component.file.remote.RemoteFileConsumer:152) TelechargementMetadonneesRouteBuilder- Not connected/logged in, connecting to: ftp://pierre@localhost:21 2015-08-05 08:55:29,447 INFO [correlation-ids:faad163b-f68e-4e91-b5fd-e5e2f86d42bd,user:] [(camelContext)-1] (org.apache.camel.component.file.remote.RemoteFileConsumer:156) TelechargementMetadonneesRouteBuilder- Connected and logged in to: ftp://pierre@localhost:21 2015-08-05 08:55:29,449 DEBUG [correlation-ids:faad163b-f68e-4e91-b5fd-e5e2f86d42bd,user:] [(camelContext)-1] (org.apache.camel.component.file.GenericFileConsumer:130) TelechargementMetadonneesRouteBuilder- Took 0.002 seconds to poll: 2015-08-05 08:55:29,449 DEBUG [correlation-ids:faad163b-f68e-4e91-b5fd-e5e2f86d42bd,user:] [(camelContext)-1] (org.apache.camel.component.file.remote.RemoteFileConsumer:121) TelechargementMetadonneesRouteBuilder- Disconnecting from: ftp://pierre@localhost:21

任何帮助将不胜感激。

0 投票
2 回答
67 浏览

java - 验证后未在拆分器中找到处理器。

我有一个 Camel 路由,需要从 FTP 接收 XML 文件作为流,对其进行验证并拆分它。

一切正常,一直到验证,但是拆分没有按预期工作。调试时,我发现当原始消息是流时,拆分过程没有找到任何处理器。在我看来,它非常像一个错误。

在这种情况下,我可以看到 Exchange 进入拆分器,但没有找到处理器并且拆分什么也不做。如果我删除验证,行为会有所不同:

在这种情况下,分离器工作正常。

此外,如果 XML 文件不是来自流,那么一切都很好。

我将我的 Camel 版本更新到 2.15.2,但仍然出现相同的错误。

0 投票
1 回答
180 浏览

unit-testing - 通过 ftp 使用 vm 和文件组件测试 Apache Camel 路由

我有两条非常简单的路线(下面的代码不是原始类,我已经简化了它,比如删除设置器、日志等)

第一条路线:

第二个:

我正在尝试为这两条路线编写一些测试,这是我的测试课程的一部分,

类中的配置部分:

这个测试方法是绿色的:

问题是以下测试,我对骆驼很陌生,并且已经用谷歌搜索找到原因,但我自己无法弄清楚:

我收到资产错误,根本没有消息:

有没有人可以帮助我,拜托。

0 投票
2 回答
11720 浏览

apache-camel - 骆驼:文件操作失败:连接已关闭且无提示。代码:421

我在部署到 Tomcat 容器中的 Java 8 上使用 Camel 2.15.2 和 Apache Commons Net 3.3。

问题是,在处理超过 200 个文件(目录中的 > 4000 个文件)后,路由停止,FTP 客户端断开连接并注销以下消息:

这是在相关路由开始时使用的 URI。

从 URI 可以看出,我也在使用 FileIdempotentRepository。它是这样定义的

任何想法为什么在处理所有文件之前连接可能会关闭?

0 投票
5 回答
7711 浏览

apache - 如何在 From() 中使用动态 URI

正如Apache Camel中提到的,它允许在 To() 中编写动态 URI,是否允许在 From() 中编写动态 URI。因为我需要调用多个 FTP 位置以根据我将其存储在数据库中的配置下载文件。

我将从数据库中读取这些配置,并在运行时将其动态传递给 Camel 路由。

示例: 这是我必须动态编写的骆驼路线示例

正如您在示例中看到的,我需要动态传递这些提到的参数。那么如何在From()中使用动态uri

0 投票
1 回答
1534 浏览

java - 未找到具有方案的组件:sftp Apache Camel 2.14.1,ServiceMix 5.2.0

我在使用 Camel 的 FTP 组件时遇到了很多问题。我正在使用 Apache Camel 2.14.1 和 Apache ServiceMix 5.2.0

问题是每当我尝试进行 FTP/SFTP 传输时都会收到此错误:

我确保在 ServiceMix 中正确安装了所需的组件

我什至添加了一些代码来检查“ftp/sftp”组件是否已经在上下文中并且它是否已启动(如果没有,我会强制启动它)。这是日志中打印的内容:

但是,我仍然收到错误...

我发现这篇文章与我有骆驼在注册表中找不到“sftp”组件并关闭的文章有类似的问题,他们说使用OsgiDefaultCamelContext解决了问题,但我认为我们不能使用它,因为我们正在使用SpringCamelContext…或者至少我还没有找到任何文档/示例来更改 spring-context.xml 中的 CamelContext 类

你能请教吗?提前致谢。

[更新] 终于成功了!问题是我这样声明模板:

这样,OSGI 就没有被设置,错误就发生了。但是后来,我用这个更新了我的 camel-context.xml:

我的路线构建器是这样的:

瞧!有效!

希望这对某人有帮助!