如何使用CXF在服务器端启用压缩?

时间:2014-11-11 10:33:21

标签: java spring web-services soap cxf

我正在使用SpringCXF创建一个soap webservice客户端。启用日志记录+ gzip压缩的首选方法是什么?是应该使用注释还是以编程方式直接添加功能?

@Component
@WebService
@GZIP
@Logging(pretty = true)
public class SoapService {
}

EndpointImpl end = new EndpointImpl(new SpringBus(), new SoapService());
LoggingFeature feature = new LoggingFeature();
feature.setPrettyLogging(true);
end.getFeatures().add(feature);
end.getFeatures().add(new GZIPFeature());
end.publish("/SoapService");

重要吗?你更喜欢什么?

1 个答案:

答案 0 :(得分:1)

就记录而言,the Apache CXF documentation contains following

  

通过使用可以执行的单独输入/输出拦截器来激活记录   根据需要附加到客户端和/或服务。这些   拦截器可以通过编程方式指定(通过Java代码   和/或注释)或通过使用配置文件。

     

配置文件可能是最好的。他们提供两个好处   程序化配置:

     
      
  1. 可以更改日志记录要求,而无需重新编译   代码
  2.   
  3. 不需要在代码中添加特定于Apache CXF的API,   这有助于它与其他符合JAX-WS标准的Web保持互操作   服务栈
  4.   

因此看起来启用日志记录的首选方法是使用配置(= Spring配置文件),这应该可以确定您正在计划使用CFX + Spring。我认为同样的推理适用于启用GZIP压缩。