Apache Camel - 停止执行并返回失败消息

时间:2015-11-22 17:22:50

标签: apache-camel

我正在寻找一个集成框架。猜猜我找到了一个--Apache Camel。这个框架很酷。但是对于我的一个要求,我无法按正确的顺序放置组件。要求有以下几个阶段 -

UIViewController

因此,当请求到来时,我需要进行身份验证,授权,预处理等。问题是这些步骤中的每一步都可能失败,并且我不希望执行流程继续,而应该返回一些失败消息。 我正在尝试这种东西 -

Authentication
Authorization
PreProcessing etc.

但是这里的问题是授权阶段也可能失败,那么不应该执行预处理步骤,授权阶段本身应该返回失败消息。可能吗?

1 个答案:

答案 0 :(得分:2)

是的,这是标准的Camel错误处理。 请参阅错误和异常处理文档。 https://camel.apache.org/exception-clause.html

  1. 授权阶段出现问题。罚款抛出异常。
  2. 您有一个OnException,它会根据该异常触发,然后执行一些操作。您可以记录,重试或将消息发送到另一个路径,该路由可以将其放在ActiveMQ上的死信队列中。
  3. 我可能会做的另一件事是在不同的路线中分割您的功能。将身份验证,授权和预处理放在不同的路由中。这样做的一大好处是它们不依赖于彼此,因此需要此功能的其他流可以简单地调用路由,您可以重用它们。此外,如果在身份验证中出现问题,则消息永远不会进入身份验证路由等。