
Interceptors are used to implement cross-cutting concerns such as auditing, logging, security related tasks, etc. from the actual business logic. Interceptors provide a clean separation between those cross-cutting concerns and the rest of the application logic. Overall, this separation simplify the development and the maintenance of the application.
Interceptors are not new. In fact, interceptors are nearly a decade old as the initial interceptor support has been introduced in Java EE 5... in the EJB 3.0 specification to be more precise. But in those nearly 10 years, Interceptors have evolved quite a lot and have now
their own specification. The fact that interceptors are now independent of the EJB specification broadens their scope and reach to the complete Java EE platform.