Apache CXF 快速上手教程基础架构CXF 旨在为服务创建必要的基础设施,它的整体架构主要由以下几个部分组成:1
Bus它是 C X F 架构的主干,为共享资源提供了一个可配置的场所,作用非常类似于 Sp ring的 ApplicationContext
这些共享资源包括 WSDL管理器、绑定工厂等
通过对 Bus进行扩展,可以方便地容纳自己的资源,或替换现有的资源
默认 Bus实现是基于 Spring的,通过依赖注入,将运行时组件串起来
Bus的创建由 BusFactory负责,默认是 SpringBusFactory,对应于默认Bus实现
在构造过程中,SpringBusFactory会搜索META-INF/cxf(就包含在 CXF的 Jar中)下的所有 Bean配置文件,根据它们构建一个 ApplicationContext
开发者也可提供自己的配置文件来定制 Bus
消息传递和拦截器(Interceptor)CXF 建立于一个通用的消息层之上,主要由消息、拦截器和拦截器链(InterceptorChain)组成
CXF 是以消息处理为中心的,熟悉 JSP/Servlet的开发者可以将拦截器视为 CXF 架构中的“Filter”,拦截器链也与“FilterChain”类似
通过拦截器,开发者可以方便地在消息传递、处理的整个过程中对 CXF 进行扩展
拦截器的方法主要有两个: handleMessage和handleFault,分别对应消息处理和错误处理
在开发拦截器的时候需要注意两点:拦截器不是线程安全的,不建议在拦截器中定义实例变量并使用它
这一点跟 JSP/Servlet中对于 Filter的处理是一样的;不要调用下一个拦截器的 handleMessage或 handleFault,这个工作由 InterceptorChain来完成
前端(Front