[
https://issues.jboss.org/browse/CDI-468?page=com.atlassian.jira.plugin.sy...
]
Matěj Novotný commented on CDI-468:
-----------------------------------
Those bindings shouldn't be empty, sounds like Weld bug indeed, I am curious to see
the reproducer.
Meanwhile, note that Weld also stores those bindings into {{InvocationContext}}, you can
use:
{code}
// for the record, this key is stored under WeldInvocationContext in the API
String INTERCEPTOR_BINDINGS_KEY = "org.jboss.weld.interceptor.bindings";
@AroundInvoke
public Object someInterceptor(InvocationContext invocationContext) throws Exception {
final Set<Annotation> interceptorBindings =
(Set<Annotation>)invocationContext.getContextData().get(INTERCEPTOR_BINDINGS_KEY);
}
{code}
I wonder if this way you'll see the bindings?
Extend javax.interceptor.InvocationContext
------------------------------------------
Key: CDI-468
URL:
https://issues.jboss.org/browse/CDI-468
Project: CDI Specification Issues
Issue Type: Feature Request
Reporter: Arne Limburg
Priority: Major
Fix For: 2.1 (Discussion)
Currently there is no easy way to obtain the interceptor binding annotation for an
interceptor call. The interceptor binding annotation is needed to access @Nonbinding
attributes and behave accordingly.
I propose to extend the javax.interceptor.InvocationContext interface with a method
public Annotation getInterceptorBinding() or
public <A extends Annotation> A getInterceptorBinding(Class<A> type)
The @AroundInvoke method of CDI Interceptors may use this extended interface as parameter
instead of the original one to obtain the interceptor binding annotation.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)