apache-camel - 当处理失败并且异常由错误处理程序处理时,如何阻止camel删除FTP文件

标签 apache-camel

我有一个从 FTP 服务器读取信息,然后处理消息的路由。该路由有 DeadLetterChannel 错误处理程序,当处理消息时抛出异常时,该处理程序将消息路由到某个 bean。

现在,当错误处理程序处理异常时,Camel 会假定一切顺利,并且仍然删除 FTP 文件。

如果我删除错误处理程序,Camel 在出现异常时不会删除该文件。

现在我的问题是,如何拥有 DeadLetterChannel 错误处理程序,同时在处理失败时阻止 Camel 删除 FTP 文件?

最佳答案

您可以在 ftp 端点上设置选项 noop=true。然后该文件将被保留。

虽然您随后必须考虑如何在将来跳过拾取文件的过程?为此,您可以使用幂等存储库来跟踪您之前处理过的文件。或者另一种方法是在完成后移动文件等。

由于 ftp 组件扩展了文件组件,请参阅详细信息:http://camel.apache.org/file2

关于apache-camel - 当处理失败并且异常由错误处理程序处理时,如何阻止camel删除FTP文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17118825/

相关文章:

用于检查 Apache Camel XML 中字符串的 JSONPath 表达式

java - Apache Camel 和 Spring 的类型转换问题

java - Apache Camel : modify endpoint on redelivery

java - 如何以及在哪里检查某些 Apache Camel 设置

java - @Service 和 @Repository bean 未在 Spring boot 和 Apache Camel 中初始化

java - 在 Apache Camel 中使用相同的 url 但不同的 http 方法发出 REST 请求时没有响应

java - Camel Rest DSL 响应代码

java - 如何使用 Camel 将 Rest 请求从本地服务路由到远程服务

maven - 我如何在Apache Camel 中使用Elasticsearch 2.2.1

java - 将 Spring bean 注入(inject) Camel DSL