<!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;">
ShrinkWrapDeployer
</h3>
<span style="margin-bottom: 10px;">
reply from <a href="http://community.jboss.org/people/alesj">Ales Justin</a> in <i>JBoss Microcontainer Development</i> - <a href="http://community.jboss.org/message/540998#540998">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">The idea was to initiate the deployment with some specific metadata that describes deployment (file, directory, SWArchive, etc..).  There would then be a series of deployers which look for these specific metadata types and would invoke the proper VFS mount/unmount operations for the deployment.<br/></blockquote><p>What you're describing is all already there.</p><p>* StructureMetaData -- perhaps all it's missing is some more exact deployment type info (file, dir, ...)</p><p>* jboss-structure.xml -- again, perhaps some more info on the type</p><p>But why exactly do you need this?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>But who would provide this? If it's not pre-determined, then we need to figure this out.</p><p>And that's exactly why we have structure deployers.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>Imo, the structure deployer are the only one's who know where and how to (un)mount things.</p><p>As they are the only one's that (should) understand the deployment structure.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>With this, I already see some inconsistency; e.g. we do mounting in VFSClassLoaderClassPathDeployer [1].</p><p>This mean we're doing some things twice; e.g. 1st mounting war's libs, then doing this again for [1]</p><p>But I guess this is a workaround for dynamically added classpath entries?</p><p>Meaning we should be able to force people to do this themselves, hence it wouldn't be needed in [1], right?</p><blockquote class="jive-quote">The key change is to align the structure deployers with the Deployer API and actually have deploy and undeploy operations.  <br/></blockquote><p>Agreed, but this is big spi change, hence it will have to wait till v3.0.</p><p>And like you said, it will help us remove Automounter.</p><blockquote class="jive-quote">Then you can introduce deployers in front of structure determination to handle proper mounting.  With this change, all that would be needed to integrate the ShrinkWrap Archive deployment would be to create the deployment (in embedded, TorqueBox, etc.) with an attachment that would cause a special mounting deployer to pick up and mount the ArchiveFileSystem as apposed to the normal filesystem based mounting deployers.</blockquote><p>You can already do this -- perhaps we cound only extend StructureContext to keep the ref to (VFS)Deployment.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;"> </p><p>e.g.</p><p>* add new structure deployer SWRP, before any other -> relative order < 0</p><p>* the root or our mounting point has unique suffix; e.g. root.swrp</p><p>* we then recognize this root in our SWRP, and properly mount it</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/540998#540998">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss Microcontainer Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2115">Community</a></p>
</div></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>