Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-1772

@Qualifier-annotated annotation adhering to requirements is rejected as invalid

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • 2.2.2.Final
    • None
    • None

      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.

            Unassigned Unassigned
            ljnelson+github@gmail.com Laird Nelson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: