What are Interceptors in Java EE?

前端 未结 3 917
旧时难觅i
旧时难觅i 2021-01-30 03:55

I\'m trying to clear my concept about Interceptors in Java EE. I have read Java EE specification but I\'m little confused about it. Please provide me some useful link or tutoria

3条回答
  •  悲哀的现实
    2021-01-30 04:50

    Interceptors are used to implement cross-cutting concerns, such as logging, auditing, and security, from the business logic.

    In Java EE 5, Interceptors were allowed only on EJBs. In Java EE 6, Interceptors became a new specification of its own, abstracted at a higher level so that it can be more generically applied to a broader set of specifications in the platform.

    They intercept invocations and life-cycle events on an associated target class. Basically, an interceptor is a class whose methods are invoked when business methods on a target class are invoked, life-cycle events such as methods that create/destroy the bean occur, or an EJB timeout method occurs. The CDI specification defines a type-safe mechanism for associating interceptors to beans using interceptor bindings.

    Look for a working code sample at:

    https://github.com/arun-gupta/javaee7-samples/tree/master/cdi/interceptors

    Java EE 7 also introduced a new @Transactional annotation in Java Transaction API. This allows you to have container-managed transactions outside an EJB. This annotation is defined as an interceptor binding and implemented by the Java EE runtime. A working sample of @Transactional is at:

    https://github.com/arun-gupta/javaee7-samples/tree/master/jta/transaction-scope

提交回复
热议问题