The JBoss OSGi Framework is a facade on top of the JBoss Microcontainer.
- The central managing entity is the OSGiBundleManager
- Much of the OSGiBundleManager functionality is externalized in a series of plugins
- The Framework and associated components are configured in jboss-osgi-bootstrap-system.xml
- A bundle deployment goes through a series of deployers
- The OSGiManifestParsingDeployer parses the manifest and attaches OSGiMetaData to the DeploymentUnit
- The OSGiBundleStateInstallDeployer adds the bundle deployment to the OSGiBundleManager
- An OSGiBundleState or OSGiFragmentState object is created and registered with the OSGiBundleManager
- The OSGiBundleClassLoadingDeployer creates and attaches OSGiClassLoadingMetaData or the equivalent for Fragments
- The bundle deployment advances up until the DESCRIBE state (i.e. No ClassLoader is created)
- The Framework fires the INSTALLED event
- When Bundle.start() is called the Framework attempts to resolve all installed Bundles
- Bundle resolution is done through PackageAdmin.resolveBundles()
- PackageAdminImpl iteratively attempts to resolve every Bundle individually through the OSGiBundleManager (see JBOSGI-267)
- OSGiBundleManager attempts to advance the Bundle to stage CLASSLOADER
- The OSGiClassLoaderFactory creates the OSGiClassLoaderPolicy
- Due to limitations in the BaseClassLoader a OSGiClassLoaderDomain creates a specialized OSGiBundleClassLoader
Following this short description here is a random list of forum discussions that give more detailed information
Comments