[cdi-dev] [JBoss JIRA] (CDI-627) fix wording regression for beans.xml alternative check introduced in 1.2

Mark Struberg (JIRA) issues at jboss.org
Thu Sep 8 04:11:00 EDT 2016


Mark Struberg created CDI-627:
---------------------------------

             Summary: fix wording regression for beans.xml alternative check introduced in 1.2
                 Key: CDI-627
                 URL: https://issues.jboss.org/browse/CDI-627
             Project: CDI Specification Issues
          Issue Type: Bug
          Components: Concepts
    Affects Versions: 1.2.Final
            Reporter: Mark Struberg


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.

{code}
@Alternative
@ApplicationScoped
@Exclude(ifProjectStage=Production.class)
public class MockMailService implements MailService {...}
{code}

Of course I only need to activate it in beans.xml:
{code}
<beans>
  <alternatives>
    <class>org.acme.MockMailService</class>
  </alternatives>
</beans>
{code}

This is perfectly fine in CDI 1.0 but might be interpreted as not be allowed in the CDI 1.2 wording paragraph 5.1.1.2. "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



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the cdi-dev mailing list