<!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">JBoss 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;">
    Unified view on OSGi/Non-OSGi deployements
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/thomas.diesler%40jboss.com">Thomas Diesler</a> in <i>JBoss AS7 Development</i> - <a href="http://community.jboss.org/message/573330#573330">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p><a class="jive-link-external-small" href="https://jira.jboss.org/browse/JBAS-8668">[JBAS-8668] All OSGi bundle install code paths must go through deployer chain</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>In AS7 there are several options available to install an OSGi bundle. The most obvious one is bundle hot-deployment in the 'deployements' folder. This would go through the server management API and make the OSGi deployment part of the domain data model. Hence it'd show up in the AS7 management agent, once that is available.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>Thrird party provisioning systems would not use the AS7 management API. Instead, they use </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><ul><li><a class="jive-link-external-small" href="http://www.osgi.org/javadoc/r4v42/org/osgi/framework/BundleContext.html#installBundle(java.lang.String,%20java.io.InputStream)">BundleContext.installBundle(...)</a></li><li><a class="jive-link-external-small" href="http://www.osgi.org/javadoc/r4v42/org/osgi/jmx/framework/FrameworkMBean.html#installBundleFromURL(java.lang.String,%20java.lang.String)">FrameworkMBean.installBundleFrom URL(...)</a></li></ul><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>depending on whether they install the Bundle locally or remote. Our <a class="jive-link-external-small" href="http://jbmuc.dyndns.org:8280/hudson/job/jbosgi-remote/ws/distribution/installer/target/auto-install-dest/docs/userguide/html/ChapGettingStarted.html#SecWebConsole"><span>OSGi management console</span></a> and the embedded Arquillian integration use the former. Our remote OSGi test framework(s) use the latter.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I now modified the Framework such that all bundle deployment/undeployment is intercepted at the lowest commen integration point and delegated to a pluggable <a class="jive-link-external-small" href="http://jbmuc.dyndns.org:8280/hudson/job/jbosgi-remote/ws/distribution/installer/target/auto-install-dest/docs/apidocs/org/jboss/osgi/deployment/deployer/DeployerService.html">DeployerService</a>. An implementation of this service is provided by the AS7/OSGi integration layer.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>In AS7 all Bundle deployments are now routed through the server management API and Bundle deployments are not any more treated differently to non-OSGi deployments. The same is true for <a class="jive-link-external-small" href="http://http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Bundle.html#uninstall()">Bundle.uninstall()</a>. Modules that are registered with the OSGi layer can be undeployed using the standard OSGi uninstall API or more generally can be managed through the OSGi webconsole.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This extension point may also be interesting for 3rd party integrators (e.g. Tibco) because it offers VirtualFile abstraction for OSGi bundles.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span>Please pull from </span><a class="jive-link-external-small" href="https://github.com/jbosgi/jboss-as/tree/jbas8668" target="_blank">https://github.com/jbosgi/jboss-as/tree/jbas8668</a></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/573330#573330">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in JBoss AS7 Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2225">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


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

</div>

</body>
</html>