在 Spring Integration 中,处理程序和拦截器看起来基本上实现了相同的目标。甚至还有一些“受骗”的实现,例如
MessageTransformingChannelInterceptor
和 MessageTransformingHandler
,据我所知,它们提供了具有不同语义的相同功能。
是否存在一个时间合适而另一个时间不合适的情况?如果这是一个偏好问题,那么我猜会有某种约定?
谢谢, 罗伊
我的一般经验法则是谨慎使用拦截器;通常,仅适用于“被动”事物,例如日志记录、窃听等。
有些用户喜欢在拦截器中进行消息验证;特别是如果他们想对多个通道应用相同的验证,也许使用具有适当通道模式的全局拦截器。
转换拦截器是在框架的早期迭代(2008 年)中创建的,我们可能应该删除(至少)参考文献(XML 部分)中唯一提及的内容。
HandlerMapping
用于根据 URL 模式或请求方法将请求映射到特定控制器或处理程序。