server端和client端都可以使用拦截器做一些记录、转换、验证、错误处理什么的。
比如处理传输的对象较大时使用GZIPIn/OutInterceptor。



interceptor以phase方式组织起来,相似功能的interceptor属一个phase。
phase实现Comparator接口,以priority属性进行排序,phaseManager将其依次添加至SortedSet。
当需要doInterceptor()时则按顺序依次执行。



CXF提供的Interceptor有in和out的区别。
比如当服务被调用时拦截器链会被创建并调用,此时对于client端是out interceptor,而对于server端则是in interceptor。
反之,当server端作响应时,对于server端是out interceptor,而对于client端则是in interceptor。



打开看org.apache.cxf.interceptor.Interceptor<T extendsMessage>的类型层级关系发现数量好多。
wKiom1Nt2qzSirJnAAG_2waTPOQ559.jpg



CXF中的很多组件都继承