Apache camel ApacheCamel:如何在文件生成端点处理路由引擎外部的异常

Apache camel ApacheCamel:如何在文件生成端点处理路由引擎外部的异常,apache-camel,Apache Camel,在我的申请中,我有一条如下的路线- fromstp:config.tofile:config 我必须处理在生成端点时apache camel的默认异常处理边界之外发生的异常。例如,写入文件时可能会发生异常。我如何处理这个异常 在camel文档中,我了解到,对于文件使用者,他们提供了不同的选项,如-consumer.errorHandler和consumer.bridgeErrorHandler。但是对于文件生产者来说,没有像producer.errorHandler这样的选项。Camel的文件组

在我的申请中,我有一条如下的路线-

fromstp:config.tofile:config

我必须处理在生成端点时apache camel的默认异常处理边界之外发生的异常。例如,写入文件时可能会发生异常。我如何处理这个异常


在camel文档中,我了解到,对于文件使用者,他们提供了不同的选项,如-consumer.errorHandler和consumer.bridgeErrorHandler。但是对于文件生产者来说,没有像producer.errorHandler这样的选项。

Camel的文件组件使用Java文件API来编写文件,因此在出现任何错误的情况下,Java API应该使用异常或在某些API中返回true | false将其报告为错误

如果发生这两种情况之一,则Camel文件组件生成器应该检测到这一情况,并将其作为异常进行包装,错误处理程序应该能够对此作出反应

根据您使用的文件系统/JDK/平台的不同,它的行为可能会有所不同。请参阅文件api/javadoc等

您没有提供太多的细节,例如发生了什么,但答案是,开箱即用,Camel的错误处理程序包含在生产者端


在消费者方面,情况有点不同,请参阅有关桥接错误处理程序选项的更多信息。

这不完全适合回答此问题。但是,对于希望在一个事件从多个事件中抛出错误/异常时取消整个过程的人来说,这会很有帮助

例如,我从一个地点旅行到另一个地点,需要使用航班和火车。所以,我需要一次预订两个。如果任何人失败,整个事务都将失败。为了实现这个用例,作者遵循了ApacheCamel中的SAGA模式。有关更多信息,请查看下面的链接