What is New in JAX-RS 2.0

November 22, 2012 · One minute read

What’s New in JAX-RS 2.0 | Javalobby.

过滤器是Servlet API在2000年2.3版本里面引入的,可是JAX-RS在2008年的第一个版本里面,竟然还是不支持,实在让人匪夷所思。在实际的项目中,我一般不得不借助Servlet的过滤器来执行一些独立于业务逻辑的功能,比如说安全认证模块。过滤器和曾经很火的AOP的拦截器其实很相似,都是在遵循OO开闭原则的基础上,提供了一种扩展系统的方法。当然,像WP那种完全构建于拦截模式之上的架构,尽管优雅且强大,但可维护性和代码可读性却大打折扣。在我看来,无论是过滤还是拦截,都只能作为模块分隔的方法,而不应该成为可扩展性架构的实践。真的要增加功能,就请在慢慢整合进核心系统,或者采用插件系统这种专注于可扩展性的架构选择。

从另外的角度来看,拦截和过滤本身已经在不同抽象层次有所重复,比如说服务器底层NIO对消息的处理,Servlet本身的过滤器,加上应用架构自己的过滤和拦截。过多的抽象对于性能关键的系统不是很合适,我一直希望能打通这个体系,构建从socket到socket的REST应用架构。