<style>
/* Changing the layout to use less space for mobiles */
@media screen and (max-device-width: 480px), screen and (-webkit-min-device-pixel-ratio: 2) {
    #email-body { min-width: 30em !important; }
    #email-page { padding: 8px !important; }
    #email-banner { padding: 8px 8px 0 8px !important; }
    #email-avatar { margin: 1px 8px 8px 0 !important; padding: 0 !important; }
    #email-fields { padding: 0 8px 8px 8px !important; }
    #email-gutter { width: 0 !important; }
}
</style>
<div id="email-body">
<table id="email-wrap" align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#f0f0f0;color:#000000;width:100%;">
    <tr valign="top">
        <td id="email-page" style="padding:16px !important;">
            <table align="center" border="0" cellpadding="0" cellspacing="0" style="background-color:#ffffff;border:1px solid #bbbbbb;color:#000000;width:100%;">
                <tr valign="top">
                    <td bgcolor="#3b4d64" style="background-color:#3b4d64;color:#ffffff;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;line-height:1;"><img src="https://issues.jboss.org/s/en_USd3nf01-418945332/852/58/_/jira-logo-scaled.png" alt="" style="vertical-align:top;" /></td>
                </tr><tr valign="top">
    <td id="email-banner" style="padding:32px 32px 0 32px;">

                
        
        
            <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="width:100%;">
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;padding:0;">
                                        <img id="email-avatar" src="https://community.jboss.org/people/luksa/avatar/16.png" alt="" height="48" width="48" border="0" align="left" style="padding:0;margin: 0 16px 16px 0;" />
                        <div id="email-action" style="padding: 0 0 8px 0;font-size:12px;line-height:18px;">
                                    <a class="user-hover" rel="luksa" id="email_luksa" href="https://issues.jboss.org/secure/ViewProfile.jspa?name=luksa" style="color:#326ca6;">Marko LukÅ¡a</a>
     commented on <img src="https://issues.jboss.org/images/icons/issuetypes/bug.png" height="16" width="16" border="0" align="absmiddle" alt="Bug"> <a style='color:#326ca6;text-decoration:none;' href='https://issues.jboss.org/browse/WELD-1451'>WELD-1451</a>
            </div>
                        <div id="email-summary" style="font-size:16px;line-height:20px;padding:2px 0 16px 0;">
                <a style='color:#326ca6;text-decoration:none;' href='https://issues.jboss.org/browse/WELD-1451'><strong>Injection of Specialized ejb via its interface causes WELD-001409 Ambiguous  dependencies exception</strong></a>
            </div>
                    </td>
    </tr>
</table>
    </td>
</tr>
<tr valign="top">
    <td id="email-fields" style="padding:0 32px 32px 32px;">
        <table border="0" cellpadding="0" cellspacing="0" style="padding:0;text-align:left;width:100%;" width="100%">
            <tr valign="top">
                <td id="email-gutter" style="width:64px;white-space:nowrap;"></td>
                <td>
                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
                        <tr valign="top">
    <td colspan="2" style="color:#000000;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:12px;padding:0 0 16px 0;width:100%;">
        <div class="comment-block" style="background-color:#edf5ff;border:1px solid #dddddd;color:#000000;padding:12px;"><p>That's just the thing. I couldn't reproduce the problem on JBossAS, that's why I needed WLS. Anyway, I upgraded Weld on WLS and was able to reproduce the problem. I can confirm that this is definitely a Weld bug. </p>

<p>When a bean manager finds a specializing bean, it register the specializing bean in all bean managers that are accessible from it. When the EJB jar's bean manager finds <tt>MockAccountBean</tt>, it doesn't register it with the WAR's bean manager, since the WAR's bean manager isn't accessible from the EJB jar's bean manager. Therefore the WAR's bean manager sees both <tt>MockAccountBean</tt> and <tt>AccountBean</tt> and since the latter isn't disabled, there are indeed two beans that can be injected into the injection point (NOTE: the injection point is inside the WAR)</p>

<p>It works on JBossAS simply because JBossAS sets up an additional BDA called "additionalClasses". This BDA can see all other BDAs and all other BDAs see it. Therefore the WAR's bean manager is transitively accessible from the EJB jar's bean manager via additionalClasses. Of course it shouldn't be.</p>

<p>The reason why this works on Weld 2 is because Weld 2 keeps a global specialization registry. When a bean specializes another bean in any BDA, all other BDAs know about it. IMHO this is also wrong, since it will cause an UnresolvedDependencyException when the specialized bean is in the EJB jar, the specializing bean is in the WAR and there is an injection point in the EJB jar. In such a case, <tt>AccountBean</tt> would be disabled, but <tt>MockAccountBean</tt> would not be visible in the EJB jar, therefore there would be no beans eligible for injection inside the EJB jar. </p>

<p>It looks like the only sensible thing to do is keep the specialization info per bean manager, but make sure that instead of notifying all accessible bean managers about the specialization, we should notify only those bean managers that the bean manager holding the specializing bean is accessible from.</p>

<p>We should also re-examine the additionalClasses BDA. </p></div>
        <div style="color:#505050;padding:4px 0 0 0;">                </div>
    </td>
</tr>
                    </table>
                </td>
            </tr>
        </table>
    </td>
</tr>













            </table>
        </td><!-- End #email-page -->
    </tr>
    <tr valign="top">
        <td style="color:#505050;font-family:Arial,FreeSans,Helvetica,sans-serif;font-size:10px;line-height:14px;padding: 0 16px 16px 16px;text-align:center;">
            This message is automatically generated by JIRA.<br />
            If you think it was sent incorrectly, please contact your JIRA administrators<br />
            For more information on JIRA, see: <a style='color:#326ca6;' href='http://www.atlassian.com/software/jira'>http://www.atlassian.com/software/jira</a>
        </td>
    </tr>
</table><!-- End #email-wrap -->
</div><!-- End #email-body -->