Apache camel ApacheCamel:上下文级截取/过滤层

Apache camel ApacheCamel:上下文级截取/过滤层,apache-camel,Apache Camel,在我们的web应用程序中,我们使用camel作为中心部件来编排/路由web服务,这些web服务将连接到其他几个本地资源 有人可以建议,编写上下文级别(全局/一次性)层的最佳方法是什么 例如,我们想要编写一个全局安全层,它执行基本的基于签名的身份验证检查,这将是应用程序中任何路由的第一步。 我们希望在全局级别(CamelContext?)配置此逻辑,这样我们就不需要在构建的每个路由中编写/添加此流程 此外,如果有多个这样的层(如安全、验证等),是否可以设置它们需要执行的顺序 任何类型的示例或阅读指

在我们的web应用程序中,我们使用camel作为中心部件来编排/路由web服务,这些web服务将连接到其他几个本地资源

有人可以建议,编写上下文级别(全局/一次性)层的最佳方法是什么

例如,我们想要编写一个全局安全层,它执行基本的基于签名的身份验证检查,这将是应用程序中任何路由的第一步。 我们希望在全局级别(CamelContext?)配置此逻辑,这样我们就不需要在构建的每个路由中编写/添加此流程

此外,如果有多个这样的层(如安全、验证等),是否可以设置它们需要执行的顺序

任何类型的示例或阅读指针都是非常受欢迎的。

您应该看看能够连接到路由执行并执行您描述的操作的。当然,您可以让您的策略以您想要的任何顺序委托给不同的授权/验证/记录层

要将策略添加到每个路由,请创建一个工厂并分配给上下文

context.addRoutePolicyFactory(new TheSpecialSecurityAndValidationPolicyFactory());
然而,对于安全性,不同的协议倾向于使用不同的方法实现安全性。在SOAP中,您可以检查传输级安全性(基本身份验证、SSL等),也可以检查消息级安全性(WS-security)。在其他协议中,您可能只能检查传输和/或消息级安全令牌


如果您想要一些通用的安全堆栈来处理更高级别的安全问题,我建议您检查一下。这很好。

我之前确实查看过这个,但是有没有一种方法可以在路由开始/准备之前在驼峰上下文中点击呼叫。。比如说在创建Exchange对象之前?