having @Priority on an interceptor basically disables the 'BDA enablement' and
enables 'global enablemant' as per the spec (CDI-18).
Since defining an interceptor in beans.xml was originally specifically for 'BDA
enablement', I have expected the ordering to only follow the @Priority rules in this
case..
But of course this could be made clearer in the spec.
Pete, what is your take on this?
LieGrue,
strub
________________________________
From: Jozef Hartinger <jozefhartinger(a)gmail.com>
To: Mark Struberg <struberg(a)yahoo.de>
Cc: "users(a)javaee-spec.java.net" <users(a)javaee-spec.java.net>; Tang Yong
<tangyong(a)cn.fujitsu.com>; Pete Muir <pete.muir(a)gmail.com>; Bill Shannon
<bill.shannon(a)oracle.com>; cdi-dev <cdi-dev(a)lists.jboss.org>
Sent: Wednesday, 23 October 2013, 16:58
Subject: [javaee-spec users] Re: About Interceptors's enabling
If an interceptor is enabled by both @Priority and in beans.xml then:
1) The priority defines the position of the interceptor in the
interceptor
chain
2) The position of the interceptor declaration in beans.xml
defines the position of the interceptor in the interceptor chain
(which is possibly different from (1))
Unless I am wrong the spec does not define which of these should
take
precedence nor forbids this case. As this case is unspecified
I would consider "calling the interceptor twice" a possible
implementation.
Jozef
On 10/18/2013 06:13 PM, Mark Struberg wrote:
I'd say that's an impl bug.
>
>beans.xml and @Priority only say IF and in which order the
interceptor
is enabled. But it still is there only once.
>
>LieGrue,
>strub
>
>
>
>
>
>
>>________________________________
>> From: John D. Ament <john.d.ament(a)gmail.com>
>>To: users(a)javaee-spec.java.net
>>Cc: Tang Yong <tangyong(a)cn.fujitsu.com>; Pete Muir
<pete.muir(a)gmail.com>; Bill Shannon <bill.shannon(a)oracle.com>
>>Sent: Thursday, 17 October 2013, 15:24
>>Subject: [javaee-spec users] Re: About Interceptors's enabling
>>
>>
>>I wonder if this is somehow related to an issue I saw
pop up
on SO recently.
>>
>>Basically, there's an issue where if an interceptor is
annotated
>>@Priority and listed in beans.xml, it gets invoked
twice.
>>
>>Is this the expected behavior?
>>
>>John
>>
>>
>>On Thu, Oct 17, 2013 at 9:12 AM, Pete Muir <pmuir(a)bleepbleep.org.uk> wrote:
>>> Hi Tang,
>>>
>>> I'm afraid I don't quite understand your question
:-(
>>>
>>> Perhaps you could provide a concrete example of
what
you would prefer?
>>>
>>> Pete
>>>
>>> On 17 Oct 2013, at 09:03, Tang Yong <tangyong(a)cn.fujitsu.com> wrote:
>>>
>>>> Pete
>>>> 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?
>>>>
>>>> Thanks
>>>> Tang
>>>>
>>>> [1]:
>>>>
https://java.net/projects/javaee-spec/lists/jsr342-experts/archive/2012-1...
>>>> [2]:
https://issues.jboss.org/browse/WELD-1528
>>>>
>>>>
>>>> --
>>>> ----------------------
>>>> Tang Yong
>>>> Senior Engineer
>>>> GlassFish Committer (OSGi & OSGi-JavaEE)
>>>> OSGi Alliance Supporter
>>>> Blog:
http://osgizone.typepad.com/tangyong/
>>>>
>>>> Nanjing Fujitsu NanDa Software Tec CO.,LTD
>>>>
http://www.fujitsu.com/cn/fnst
>>>> Tel: +86-25-86630566-8310
>>>> Fax: +86-25-83317685
>>>> ----------------------
>>>>
>>>
>>
>>