Hi Kristoffer,
the javadoc is wrong, CDI should follow JSL rules here - i.e. only if
@Inherited meta-annotation is present the annotation is inherited and
the type is observed. @Path has not @Inherited defined. Therefore only
resources with this annotation will be observed.
See also:
https://issues.jboss.org/browse/CDI-318
(will be fixed in CDI 1.2 MR)
Martin
Dne 28.1.2014 11:14, Kristoffer Sjögren napsal(a):
Hi
Extensions that observe using @WithAnnotations are not notified with
implementing classes for annotated interfaces.
Not sure if this is intended - the javadoc seems pretty clear on that
the following example should work.
@Path("/service")
public interface Service {
@POST
public void execute();
}
public ServiceEndpoint implements Service {
public void execute() { ... }
}
public class JaxrsExtension implements Extension {
<X> void storeJaxrsResourceClasses(@Observes
@WithAnnotations({Path.class, Provider.class}) ProcessAnnotatedType<X>
pat) {
AnnotatedType<X> type = pat.getAnnotatedType();
if (!type.getJavaClass().isInterface()) {
// want to manage the ServiceEndpoint here
}
}
}
Cheers,
-Kristoffer
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev