[javaee-spec users] About Interceptors's enabling

From: Tang Yong <>
Date: Thu, 17 Oct 2013 17:03:04 +0900

CC: Bill

I have a question about Interceptors's enabling.

The story should come from [1] and [2], and from "5.3 Ordering
Interceptors using the Priority Annotation" of JSR 318.

"An interceptor bound to a component, a component method, or constructor
using interceptor binding may be enabled for the entire application by
applying the Priority annotation, along with a priority value, on the
interceptor class."

From another fact, Interceptors are deployment-specific and are disabled
by default. Like alternatives, interceptors have to be
enabled by using the CDI deployment descriptor beans.xml of the jar.

Well, if I uses interceptors binding, I will meet two cases,

1) I must enable interceptors in beans.xml explicitly if I am not ready
to use @Priority.

2) Once I uses @Priority, I need to take care of whether to need to
declare interceptors in beans.xml becase this may break/override
invocation order of interceptors.

Based on such facts, enable interceptors in beans.xml explicitly has
brought two different resposibilities for interceptors binding, so, for
an user, this has caused some puzzles just as I made a mistake in [2].

My question is that why we can not make "enable interceptors in
beans.xml explicitly" bring *only one* resposibility?



Tang Yong
Senior Engineer
GlassFish Committer (OSGi & OSGi-JavaEE)
OSGi Alliance Supporter
Nanjing Fujitsu NanDa Software Tec CO.,LTD
Tel: +86-25-86630566-8310
Fax: +86-25-83317685