Spring Integration - 处理程序与拦截器

时间:2013-12-02 22:44:47

标签: spring spring-integration

在Spring Integration中,处理程序和拦截器看起来基本上可以实现相同的功能。甚至有一些'duped'实现,例如MessageTransformingChannelInterceptorMessageTransformingHandler,据我所知,它们提供了不同语义的相同功能。

是否有适当的时间,而不是另一个?如果这是一个偏好问题,那么我猜测会有某种惯例吗?

谢谢, 罗伊

2 个答案:

答案 0 :(得分:3)

我的一般经验法则是谨慎使用拦截器;通常,仅用于“被动”的东西,如伐木,电话窃听等。

有些用户喜欢在拦截器中进行消息验证;特别是如果他们想要将相同的验证应用于多个通道,可能使用具有适当通道模式的全局拦截器。

转换拦截器是在框架的早期迭代(2008)中创建的,我们应该删除(至少)在引用中唯一提到它(在XML部分中)。

答案 1 :(得分:0)

拦截器用于实现交叉管理,日志记录,审计,请求前后操作和安全等跨领域问题。

/opt/local/bin /opt/local/sbin 作为独占实施,而Controller作为包含

在Spring中,我们有以下不同类型的Handler接口:

  • HandlerInterceptor:这个拦截器基本上类似于Servlet Filter,在Spring MVC框架中我们有HandlerInterceptor类似于javax.servlet.Filter的界面,它有助于身份验证,日志记录和审计,加密等等更多。
  • HandlerMapping:此接口用于将HTTP客户端请求映射到处理程序,即控制器。 Handler使用可配置的处理程序映射将请求分派给处理程序。
  • HandlerAdapter:策略接口DispatcherServlet负责调用某些HandlerAdapter选择的处理程序方法。
  • Spring AOP充当方法拦截器。