Apache camel:如何在文件生成端点处理路由引擎外部的异常
Apache camel : how to handle exception outside routing engine at file producing end point
我的申请中有如下路线 -
从("sftp:config").到("file:config")
我必须处理那些在生成端点时发生在 apache camel 默认异常处理边界之外的异常。 E. G. 写入文件时可能会发生异常。我该如何处理该异常?
在 camel 文档中,我读到他们为文件消费者提供了不同的选项,例如 - consumer.errorHandler 和 consumer.bridgeErrorHandler。但是没有文件制作者的选项(比如producer.errorHandler)。
Camel 的文件组件使用 Java 文件 API 写入文件,因此如果出现任何错误,则 Java API 应该将其报告为错误(使用异常)或在其某些 api.
中返回 true|false
如果发生任何一种情况,Camel 文件组件(生产者)应该检测到这一点并将其包装为异常,错误处理程序应该能够对此做出反应。
根据您使用的文件系统/JDK/平台,它的行为可能会有些不同。请参阅文件 api / javadoc 等
你没有提供发生了什么的详细信息等等。但答案是开箱即用,Camel 的错误处理程序包含在生产者端。
在消费者方面,情况有点不同,请参阅有关桥接错误处理程序选项的更多信息。
这不是这个问题的完全合适的答案。但是,当一个事件从多个事件中抛出 error/exception 时,这对希望取消整个过程的人会有帮助。
例如,我要从一个地方到另一个地方旅行,需要同时使用飞机和火车。所以,我需要同时预订。如果有人失败,则整个交易都必须失败。为了实现这个用例,作者在 Apache camel 中遵循了 SAGA 模式。有关更多信息,请查看下方 link.
我的申请中有如下路线 -
从("sftp:config").到("file:config")
我必须处理那些在生成端点时发生在 apache camel 默认异常处理边界之外的异常。 E. G. 写入文件时可能会发生异常。我该如何处理该异常?
在 camel 文档中,我读到他们为文件消费者提供了不同的选项,例如 - consumer.errorHandler 和 consumer.bridgeErrorHandler。但是没有文件制作者的选项(比如producer.errorHandler)。
Camel 的文件组件使用 Java 文件 API 写入文件,因此如果出现任何错误,则 Java API 应该将其报告为错误(使用异常)或在其某些 api.
中返回 true|false如果发生任何一种情况,Camel 文件组件(生产者)应该检测到这一点并将其包装为异常,错误处理程序应该能够对此做出反应。
根据您使用的文件系统/JDK/平台,它的行为可能会有些不同。请参阅文件 api / javadoc 等
你没有提供发生了什么的详细信息等等。但答案是开箱即用,Camel 的错误处理程序包含在生产者端。
在消费者方面,情况有点不同,请参阅有关桥接错误处理程序选项的更多信息。
这不是这个问题的完全合适的答案。但是,当一个事件从多个事件中抛出 error/exception 时,这对希望取消整个过程的人会有帮助。
例如,我要从一个地方到另一个地方旅行,需要同时使用飞机和火车。所以,我需要同时预订。如果有人失败,则整个交易都必须失败。为了实现这个用例,作者在 Apache camel 中遵循了 SAGA 模式。有关更多信息,请查看下方 link.