wso2-处理程序和序列
对于WSO2 api管理器,处理程序和序列之间的区别或关系是什么wso2-处理程序和序列,wso2,wso2-am,Wso2,Wso2 Am,对于WSO2 api管理器,处理程序和序列之间的区别或关系是什么 我想为每个api设置一些要遵循的条件。根据条件,它将检查api请求是否已通过条件。我不确定是否需要使用序列或处理程序。这个答案假设用户通过“序列”表示“中介序列”,它通过APIMAGERExtensionHandler处理程序运行(中介可以是全局的,也可以是每个API,但据我所知,它是在同一个地方执行的) 中介序列和处理程序都是在网关接收到响应或请求后运行的代码扩展。处理程序扩展了org.apache.synapse.rest.A
我想为每个api设置一些要遵循的条件。根据条件,它将检查api请求是否已通过条件。我不确定是否需要使用序列或处理程序。这个答案假设用户通过“序列”表示“中介序列”,它通过APIMAGERExtensionHandler处理程序运行(中介可以是全局的,也可以是每个API,但据我所知,它是在同一个地方执行的) 中介序列和处理程序都是在网关接收到响应或请求后运行的代码扩展。处理程序扩展了
org.apache.synapse.rest.AbstractHandler
类,需要实现AbstractHandler.HandlerRequest
和AbstractHandler.HandlerResponse
;中介扩展了org.apache.synapse.mediators.AbstractMediator
类,需要实现AbstractMediator.mediate
自定义处理程序和中介序列之间的主要区别在于,使用自定义处理程序需要编写自己的Java类,然后打包和部署处理程序。如果使用预定义的中介组合(由WSO2的ESB提供)可以满足您的需求,那么您可以编写XML序列来定义中介任务,而不需要新代码
根据我的经验,以下是处理程序和中介序列之间的主要区别。应根据您的具体要求决定是否使用其中一种
处理程序
- 虽然可以通过包含在velocity-template.xml文件中将它们添加到每个API中,但它们严格来说是“每个API”
- 可以按照与其他处理程序相关的任何顺序执行
- 除了在API定义序列中包含处理程序外,不需要序列。所有任务都必须包含在Java代码中
- 可以配置为全局或特定于API
- 可以按照与其他中介序列相关的任何顺序执行,但不能在其他处理程序之前进行中介,除非所有其他中介程序也这样做(除非编写自定义中介处理程序)
- 允许您在XML树中调用其他预定义的中介来描述中介任务。除非预定义的中介(由WSO2的ESB提供)不能满足您的需求,否则您不必编写任何自定义代码