|
I have a qualifier annotation defined thusly:
@Documented
@Qualifier
@Retention(RUNTIME)
@Target({ METHOD, FIELD, PARAMETER, TYPE })
public @interface Loading {
public Class<?>[] classes() default {};
}
When I apply it to an injection point:
@Inject
@Loading(classes = { Foo.class })
private Loader loader;
...Weld says this:
org.glassfish.deployment.common.DeploymentException: CDI deployment failure:
WELD-001301
: Annotation @com.foobar.Loading(classes=[class com.foobar.Foo]) is not a qualifier
My qualifier annotation fulfils the CDI 1.0 specification requirements in section 2.3.2:
A qualifier type is a Java annotation defined as @Target({METHOD, FIELD, PARAMETER, TYPE}) and @Retention(RUNTIME).
A qualifier type may be declared by specifying the @javax.inject.Qualifier meta-annotation.
|