[
https://issues.jboss.org/browse/CDI-468?page=com.atlassian.jira.plugin.sy...
]
David Prevost edited comment on CDI-468 at 10/20/19 2:49 PM:
-------------------------------------------------------------
Any updates on this, I seem to currently encounter this problem using wildfly 17 and weld
3.1.final.
I dynamicaly inject an annotation in a javax.enterprise.inject.spi.Extension like below:
{code:java}
processAnnotatedType.configureAnnotatedType()
.filterMethods(RestHttpAnnotationUtils::isGetOrPostOrPutOrDelete)
.forEach(method -> method.add(new
ModelClassOperationSecurityValidationImpl(
ClassOperationPermissionMapping.map(method.getAnnotated()))));
{code}
And the binding is empty in the interceptor surrounded by @AroundInvoke:
{code:java}
@AroundInvoke
public Object modelClassOperationSecurity(InvocationContext invocationContext) throws
Exception {
// interceptorBindings is empty
final Set<Annotation> interceptorBindings = ((WeldInvocationContext)
invocationContext)
.getInterceptorBindings();
}
{code}
was (Author: plum117):
Any updates on this, I seem to currently encounter this problem using wildfly 17 and weld
3.1.final
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)