[jboss-dev-forums] [JBoss AS7 Development] - Unified view on OSGi/Non-OSGi deployements

Thomas Diesler do-not-reply at jboss.com
Mon Nov 29 04:16:16 EST 2010


Thomas Diesler [http://community.jboss.org/people/thomas.diesler%40jboss.com] created the discussion

"Unified view on OSGi/Non-OSGi deployements"

To view the discussion, visit: http://community.jboss.org/message/573330#573330

--------------------------------------------------------------
https://jira.jboss.org/browse/JBAS-8668 [JBAS-8668] All OSGi bundle install code paths must go through deployer chain

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.

Thrird party provisioning systems would not use the AS7 management API. Instead, they use 

*  http://www.osgi.org/javadoc/r4v42/org/osgi/framework/BundleContext.html#installBundle(java.lang.String,%20java.io.InputStream) BundleContext.installBundle(...)
*  http://www.osgi.org/javadoc/r4v42/org/osgi/jmx/framework/FrameworkMBean.html#installBundleFromURL(java.lang.String,%20java.lang.String) FrameworkMBean.installBundleFrom URL(...)

depending on whether they install the Bundle locally or remote. Our  http://jbmuc.dyndns.org:8280/hudson/job/jbosgi-remote/ws/distribution/installer/target/auto-install-dest/docs/userguide/html/ChapGettingStarted.html#SecWebConsole OSGi management console and the embedded Arquillian integration use the former. Our remote OSGi test framework(s) use the latter.

I now modified the Framework such that all bundle deployment/undeployment is intercepted at the lowest commen integration point and delegated to a pluggable  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. An implementation of this service is provided by the AS7/OSGi integration layer.

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  http://http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Bundle.html#uninstall() Bundle.uninstall(). 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.

This extension point may also be interesting for 3rd party integrators (e.g. Tibco) because it offers VirtualFile abstraction for OSGi bundles.

Please pull from  https://github.com/jbosgi/jboss-as/tree/jbas8668 https://github.com/jbosgi/jboss-as/tree/jbas8668
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/573330#573330]

Start a new discussion in JBoss AS7 Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2225]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-dev-forums/attachments/20101129/878ffbaa/attachment.html 


More information about the jboss-dev-forums mailing list