<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hey guys,<div><br></div><div>I ran into a problem today and I am unsure if the behavior I encountered is the way it should be.</div><div><br></div><div>My Environment:</div><div>JBoss 7.1.1.Final with Weld 1.1.5</div><div><br></div><div>My Scenario:</div><div><br></div><div>------------------------------------------------------------------------------------------------------</div><div><div style="margin: 0px; font-size: 11px; font-family: Monaco; "><span style="color: #931a68">public</span> <span style="color: #931a68">abstract</span> <span style="color: #931a68">class</span> AbstractClass&nbsp;<span style="color: #931a68">implements</span> DemoInterface&nbsp;{…}</div></div><div style="margin: 0px; font-size: 11px; font-family: Monaco; "><br></div><div style="margin: 0px; font-size: 11px; font-family: Monaco; "><div style="margin: 0px; color: rgb(119, 119, 119); ">@Singleton</div><div style="margin: 0px; "><span style="color: #777777">@ConcurrencyManagement</span>(ConcurrencyManagementType.<span style="color: #0326cc">BEAN</span>)</div><div style="margin: 0px; "><span style="color: #931a68">public</span> <span style="color: #931a68">class</span> Real&nbsp;<span style="color: #931a68">extends</span>&nbsp;AbstractClass&nbsp;{…}</div><div style="margin: 0px; "><br></div><div style="margin: 0px; "><div style="margin: 0px; color: rgb(119, 119, 119); ">@Singleton</div><div style="margin: 0px; "><span style="color: #777777">@ConcurrencyManagement</span>(ConcurrencyManagementType.<span style="color: #0326cc">BEAN</span>)</div><div style="margin: 0px; color: rgb(78, 144, 114); "><span style="color: rgb(119, 119, 119); ">@Alternative</span></div><div style="margin: 0px; color: rgb(119, 119, 119); ">@Specializes</div><div style="margin: 0px; "><div style="color: rgb(119, 119, 119); margin: 0px; "><span style="color: #931a68">public</span> <span style="color: #931a68">class</span> Mock&nbsp;<span style="color: #931a68">extends</span>&nbsp;<span style="color: rgb(0, 0, 0); ">Real</span>&nbsp;{…}</div><div style="color: rgb(119, 119, 119); margin: 0px; "><br></div><div style="color: rgb(119, 119, 119); margin: 0px; "><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span></div><div style="color: rgb(119, 119, 119); margin: 0px; "><br></div><div style="margin: 0px; ">If I register class Mock as an @Alternative in beans.xml, everything works fine.</div><div style="margin: 0px; "><div style="margin: 0px; color: rgb(78, 145, 146); "><span style="color: #009193"><br></span></div><div style="margin: 0px; color: rgb(78, 145, 146); "><span style="color: #009193">&lt;</span>alternatives<span style="color: #009193">&gt;</span></div><div style="margin: 0px; "><span class="Apple-tab-span" style="white-space: pre; ">        </span>&lt;<span style="color: #4e9192">class</span><span style="color: #009193">&gt;</span>at.w0mb.example.Mock<span style="color: #009193">&lt;/</span><span style="color: #4e9192">class</span><span style="color: #009193">&gt;</span></div><div style="margin: 0px; color: rgb(78, 145, 146); "><span style="color: #009193">&lt;/</span>alternatives<span style="color: #009193">&gt;</span></div></div><div style="margin: 0px; "><br></div><div style="margin: 0px; ">As soon as I try:</div><div style="color: rgb(119, 119, 119); margin: 0px; "><br></div><div style="color: rgb(119, 119, 119); margin: 0px; "><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span></div><div style="color: rgb(119, 119, 119); margin: 0px; "><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; "><br></span></div><div style="color: rgb(119, 119, 119); margin: 0px; "><div style="margin: 0px; ">@Alternative</div><div style="margin: 0px; ">@Stereotype</div><div style="margin: 0px; ">@Retention<span style="color: #000000">(</span><span style="color: #0326cc">RUNTIME</span><span style="color: #000000">)</span></div><div style="margin: 0px; ">@Target<span style="color: #000000">(</span><span style="color: #0326cc">TYPE</span><span style="color: #000000">)</span></div><div style="margin: 0px; color: rgb(147, 26, 104); ">public<span style="color: #000000"> </span>@interface<span style="color: #000000"> </span><span style="color: #777777">Mock</span><span style="color: #000000"> {}</span></div><div style="margin: 0px; color: rgb(147, 26, 104); "><span style="color: #000000"><br></span></div></div><div style="color: rgb(119, 119, 119); margin: 0px; "><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; "><br></span></div><div style="color: rgb(119, 119, 119); margin: 0px; "><div style="margin: 0px; ">@Singleton</div><div style="margin: 0px; ">@ConcurrencyManagement(ConcurrencyManagementType.<span style="color: #0326cc">BEAN</span>)</div><div style="margin: 0px; ">@Mock</div><div style="margin: 0px; color: rgb(78, 144, 114); ">//@Alternative</div><div style="margin: 0px; ">@Specializes</div><div style="margin: 0px; "><span style="color: #931a68">public</span> <span style="color: #931a68">class</span>&nbsp;Mock&nbsp;<span style="color: #931a68">extends</span> Real&nbsp;<span style="color: rgb(0, 0, 0); ">{…}</span></div></div><div style="color: rgb(119, 119, 119); margin: 0px; "><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; "><br></span></div><div style="color: rgb(119, 119, 119); margin: 0px; "><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">------</span></div><div style="color: rgb(119, 119, 119); margin: 0px; "><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; "><br></span></div><div style="color: rgb(119, 119, 119); margin: 0px; "><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; ">If I now register the @Stereotype Mock as an @Alternative in beans.xml, the application won΄t deploy.</span></div><div style="margin: 0px; "><div style="color: rgb(78, 145, 146); margin: 0px; "><span style="color: #009193">&lt;</span>alternatives<span style="color: #009193">&gt;</span></div><div style="margin: 0px; "><span class="Apple-tab-span" style="white-space: pre; ">        </span>&lt;<span style="color: rgb(78, 145, 146); ">stereotype</span><span style="color: rgb(0, 145, 147); ">&gt;</span>at.w0mb.example.stereotype.Mock<span style="color: rgb(0, 145, 147); ">&lt;/</span><span style="color: rgb(78, 145, 146); ">stereotype</span><span style="color: rgb(0, 145, 147); ">&gt;</span></div><div style="color: rgb(78, 145, 146); margin: 0px; "><span style="color: #009193">&lt;/</span>alternatives<span style="color: #009193">&gt;</span></div><div style="color: rgb(78, 145, 146); margin: 0px; "><span style="color: #009193"><br></span></div><div style="margin: 0px; ">The thrown error message is:</div><div style="margin: 0px; "><div style="margin: 0px; "><span class="Apple-tab-span" style="white-space:pre">        </span>WELD-001408 Unsatisfied dependencies for type&nbsp;[DemoInterface] …….</div><div style="margin: 0px; "><br></div><div style="margin: 0px; "><br></div><div style="margin: 0px; ">Do you guys think that this is normal? Is it a specification Issue? Or Weld?</div><div style="margin: 0px; "><br></div><div style="margin: 0px; ">Regards,</div><div style="margin: 0px; "><br></div><div style="margin: 0px; ">Daniel</div></div></div></div></div></div></body></html>