官术网_书友最值得收藏!

Filter and interceptors

JAX-RS 2.0 added ContainerRequestFilter and ContainerResponseFilter to modify the request context. It is executed around the method invocation but has already passed the method resolution. On a high level, it can be seen as a CDI interceptor but only at the HTTP layer. These filters do not impact significantly the performance until they do a lot of logic, and there are a few cases where it is a good place to put some logic. One very common example is to validate a security token or log in a user based on the HTTP headers. Don't be surprised to see this kind of component while investigating what your application is doing.

In the same spirit, ReaderInterceptor and WriterInterceptor intercept MessageBodyReader or MessageBodyWriter. They are intended to wrap the input/output streams to add some support such as GZIP compression. However, since we are close to the current I/O, we need to take care to not add too much logic here if the payloads are huge or if the algorithm is complex. In fact, since the stream operations are called very often, a badly implemented wrapper can affect the performance.

主站蜘蛛池模板: 凌源市| 九江市| 苏尼特左旗| 府谷县| 织金县| 上高县| 康平县| 穆棱市| 新竹县| 大方县| 吉林省| 怀柔区| 天祝| 太湖县| 郧西县| 黑龙江省| 伊吾县| 桓台县| 余庆县| 三亚市| 宜州市| 潼南县| 云浮市| 温宿县| 娄烦县| 大方县| 铜陵市| 无棣县| 息烽县| 高淳县| 抚州市| 托里县| 禹州市| 苏尼特右旗| 桓台县| 大方县| 华坪县| 科尔| 新昌县| 临桂县| 渑池县|