Uploaded image for project: 'CDI Specification Issues'
  1. CDI Specification Issues
  2. CDI-627

fix wording regression for beans.xml alternative check introduced in 1.2


    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 1.2.Final
    • Fix Version/s: 2.0 .Final
    • Component/s: Concepts
    • Labels:


      My scenario is the following:
      I have an @Alternative MockMailService class which should only be used during testing to not send out 5k mails to customers and employees when running the unit and integration test suite.

      public class MockMailService implements MailService {...}

      Of course I only need to activate it in beans.xml:


      This is perfectly fine in CDI 1.0 but might be interpreted as not be allowed in the CDI 1.2 wording paragraph "Declaring selected alternatives for a bean archive".

      Please note that we introduced a check in CDI 1.0 purely to help the customer eagerly detect possible wrong configuration. E.g. if he simply has a typo in the classname. It was not intended to restrict useful use cases!

      What the intention was: all is fine IF one of

      • There exists a class T with the given name
      • That class T (or a contained producer field or producer method) is annotated with @Alternative
      • There is a Bean<T> with isAlternative() == true

        Gliffy Diagrams




              • Assignee:
                struberg Mark Struberg
                struberg Mark Struberg
              • Votes:
                0 Vote for this issue
                6 Start watching this issue


                • Created: