<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Inputs to deployers
</h3>
<span style="margin-bottom: 10px;">
    reply from <a href="http://community.jboss.org/people/jaikiran">jaikiran pai</a> in <i>JBoss Microcontainer</i> - <a href="http://community.jboss.org/message/534478#534478">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><blockquote class="jive-quote"><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Ales Justin wrote:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><br/>In most cases real deployers are meant to be component deployers, <br/>where we expect only a single attachment by that type, <br/>hence we are able to store it under class name. </blockquote><p>A bit of a old thread, but I happened to run into something along these lines recently and am not sure I understand how the BeanMetadataDeployer works in cases like this one. I see many deployers which do this:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-java">
<font color="navy"><b>public</b></font> <font color="navy"><b>class</b></font> ADeployer
<font color="navy">{</font>
&#160; <font color="navy"><b>public</b></font> ADeployer()
 <font color="navy">{</font>
&#160;&#160; setOutput(BeanMetadata.class);
 <font color="navy">}</font>
&#160;
 <font color="navy"><b>public</b></font> <font color="navy"><b>void</b></font> deploy(DeploymentUnit du)
 <font color="navy">{</font>
&#160;&#160;&#160; String blahOne = <font color="red">"blah"</font>;
&#160;&#160;&#160; BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(blahOne, SomeClass.class);
&#160;&#160;&#160; <font color="darkgreen">// ... some more specifics</font>
&#160;&#160;&#160; BeanMetaData bmdOne = builder.getBeanMetaData();
&#160;
&#160;
&#160;&#160;&#160; String blahTwo = <font color="red">"onemoreblah"</font>;
&#160;&#160;&#160; BeanMetaDataBuilder&#160; builderTwo = BeanMetaDataBuilderFactory.createBuilder(blahTwo,&#160; SomeClass.class);
&#160;&#160;&#160; <font color="darkgreen">// ... some more specifics</font>
&#160;&#160;&#160; BeanMetaData bmdTwo =&#160; builderTwo.getBeanMetaData();
&#160;
&#160;&#160; <font color="darkgreen">// add both these as attachments to unit</font>
&#160; unit.addAttachment(blahOne, bmdOne);
&#160;
 unit.addAttachment(blahTwo, bmdTwo);
 <font color="navy">}</font>
<font color="navy">}</font>
&#160;
</code></pre><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>So we have ADeployer which outputs BeanMetaData. In its deploy, it attaches 2 different instances of BeanMetaData and uses some *random* unique keys (i.e. does *not* use BeanMetadata.class.getName() as the key) to add it as attachment.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I see that we have many such deployers around and strangely the BeanMetaDataDeployer is considered relevant and the BeanMetaDataDeployer ends up deploying these BMDs. How does that work (since the attachment keys are *not* the type name of the BeanMetadataDeployer's input)? Is there some specific deployer specific config that allows this to work?</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/534478#534478">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Microcontainer at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2114">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>