cxf添加拦截器

如今,由于我们在响应中发送大量数据,因此必须对API响应执行Gziping。 它节省了网络带宽和交付时间,当然还节省了Internet上的空间。

CXF提供了以多种方式使用Gzip压缩的选项。

  1. 蓝图
  2. 注解

蓝图:

<bean id="gZipInterceptor" class="org.apache.cxf.transport.common.gzip.GZIPOutInterceptor" /><jaxrs:server id="rsServer" address="/gZip"><jaxrs:outInterceptors><ref component-id="gZipInterceptor" /></jaxrs:outInterceptors></jaxrs:server>

注解:

首先,您需要在out拦截器列表中注册GZIPOutInterceptor 。 为此,您需要加入CXF初始化类。

public class InterceptorManager extends AbstractFeature {private static final Logger LOGGER = Logger.getLogger( "simcore" );private static final Interceptor< Message > GZIP = new GZIPOutInterceptor();//private static final Interceptor< Message > GZIP = new GZIPOutInterceptor(512);/* (non-Javadoc)* @see org.apache.cxf.feature.AbstractFeature#initializeProvider(org.apache.cxf.interceptor.InterceptorProvider, org.apache.cxf.Bus)*/@Overrideprotected void initializeProvider( InterceptorProvider provider, Bus bus ) {/*** Adding Gzip interceptor to all outbound requests/responses*/LOGGER.debug( " ##############  Adding Gzip as OUT Interceptor ##############" );provider.getOutInterceptors().add( GZIP );}
}

GZIPOutInterceptor带有一个选项,用于将阈值设置为字节数。 如果响应大小低于此阈值,则将不会对其进行压缩。 当我们仅发送空列表和状态消息/代码时,这将非常有用,因为压缩这些小的响应将在服务器端增加开销。

但是,我们还必须考虑另一个因素,即请求响应的用户数量。 因此,请考虑可能出现的所有情况,以适当地设置此值。

@GZIP

现在,我们可以在任何Web服务控制器上使用此批注,以对该类中提供的所有API实施压缩。

@WebService
@Consumes ( { MediaType.TEXT_PLAIN, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON } )
@Produces ( MediaType.APPLICATION_JSON )
@GZIP
public interface WebServicesController {@GET@Path ( "/myGzipData" )@Produces ( { MediaType.APPLICATION_JSON } )Response getZipData( );}

此外,我们可以在Gzip注释中设置不同的参数。

@GZIP ( force = true, threshold = 512 )

翻译自: https://www.javacodegeeks.com/2014/11/adding-gzip-compression-in-cxf-apis-and-interceptors.html

cxf添加拦截器

cxf添加拦截器_在CXF API和拦截器中添加Gzip压缩相关推荐

  1. 添加 pcre-devel 源_植物精油在犊牛开口料中添加效果总结(一)

    总结: 1.提高犊牛断奶前ADG.ADFI.G/F.断奶重. 2.提高犊牛断奶后的生长性能. 3.降低断奶后腹泻率,提前断奶. 4.促进断奶前的骨骼发育. 5.与益生元的组合效果更佳. 6.可替代莫能 ...

  2. 在桌面上添加或删除计算机网络等图标,如何在Windows 10中添加或删除默认桌面图标...

    我们将看到如何在Windows 10中添加或 让我们开始吧: 在Windows 10设备中,选择"开始"按钮,然后选择"设置". 如何在Windows 10中添 ...

  3. python 生成器装饰器_七.python迭代器生成器装饰器

    1.迭代器 1.1 什么是可迭代对象(Iterable)? 定义:可以直接作用于for循环的对象统称为可迭代对象,即Iterable. 可迭代对象包括: 1.集合数据类型:如list.tuple.di ...

  4. 自定义制作音频播放器_使用HTML5制作音频播放器,第3部分:微数据和皮肤

    自定义制作音频播放器 In the first two articles of this series I introduced the concept and code of a customize ...

  5. 自定义音频播放器_创建自定义HTML5音频播放器

    自定义音频播放器 在本教程中,我将向您介绍HTML5音频,并向您展示如何创建自己的播放器. 如果您想走捷径,请查看Envato市场上可用的现成的HTML5音频播放器 . 它使您可以从各种来源创建播放列 ...

  6. 【Android 逆向】函数拦截原理 ( 通过修改 GOT 全局偏移表拦截函数 | 通过在实际被调用的函数中添加跳转代码实现函数拦截 )

    文章目录 一.通过修改 GOT 全局偏移表拦截函数 二.通过在实际被调用的函数中添加跳转代码实现函数拦截 一.通过修改 GOT 全局偏移表拦截函数 使用 GOT 全局偏移表 拦截函数 , 只需要将 G ...

  7. spring默认缓存管理器_使用Spring的缓存管理器缓存Web内容

    spring默认缓存管理器 在这篇文章中,我想向大家展示如何使用Spring的CacheManager,@ Cacheable和JMX批注来缓存和管理Web内容的缓存的基础知识. 想象一下一个网上商店 ...

  8. 垃圾收集算法,垃圾收集器_为什么我不能关闭垃圾收集器?

    垃圾收集算法,垃圾收集器 让我们开始快速回顾一下我作为Java开发人员的职业生涯的早期. 我想消除正在进行的测试中的垃圾回收(GC)暂停. 瞧,当我发现无法完成时,我很生气. 那时,我把问题留在了&q ...

  9. 带倍速音频播放器_带有播放列表HTML5音频播放器

    带倍速音频播放器 HTML5 Audio player with playlist HTML5 audio player. Many of you faced with the task of cre ...

最新文章

  1. 中科院张士峰:基于深度学习的通用物体检测算法对比探索
  2. LeetCode-53. 最大子序和-最简单的动态规划(Python3)
  3. 里bl2和bl3为什么分开_分手挽回:为什么不建议过早同居
  4. docker安装mysql5.6,安装redis3.2
  5. Silverlight中使用MVVM(9)-绑定Enum类型数据
  6. 计算机打开共享网络连接打印机共享打印机,WIN7怎么连接共享打印机?如何设置和连接局域网共享打印机...
  7. 铁大Facebook——十天冲刺(4)
  8. mysql 数据库隔离级别_彻底搞懂mysql数据库四种隔离级别,实验实战
  9. IDEA如何导出war包
  10. c语言坐标轮换法_优化设计-鲍威尔法程序(c语言)
  11. 基于RFID的图书馆管理
  12. PS 色阶、曲线、色相饱和度
  13. 招聘时最看重应聘者的什么特质?
  14. 【小白学习之路】Java实现简单的飞机大战小游戏
  15. MySql自动同步主库数据(Canal)
  16. 项目管理知识体系指南 PMBOK(第6版)十大知识领域思维导图(总览图)
  17. 软件开发过程与项目管理(12.软件项目合同计划)
  18. Altium Designer 20新手上路(一)常见网站及插件推荐
  19. mysql连接oracle视图_oracle数据库视图
  20. 细数最暖心的地铁营销事件,你最喜欢哪一个?

热门文章

  1. jzoj6826-[2020.10.17提高组模拟]隔膜【博弈论】
  2. P4841,jzoj3303-城市规划【NTT,多项式求逆,dp】
  3. jzoj4224-食物【多重背包】
  4. jzoj4230-淬炼神体【0/1分数规划】
  5. ssl2346-联络员【图论,最小生成树】
  6. ssl1072-砝码称重【dp练习】
  7. codeforces1473 E.Minimum Path(分层图最短路)
  8. 牛客小白月赛 27部分题解
  9. 2018CCPC吉林赛区(重现赛)补题部分——F线段树待补
  10. [XSY] 简单的博弈题(博弈+dp+组合数+容斥)