Class OsgiBundlePlugin

java.lang.Object
com.atlassian.plugin.impl.AbstractPlugin
com.atlassian.plugin.osgi.factory.OsgiBundlePlugin
All Implemented Interfaces:
ContainerManagedPlugin, OsgiBackedPlugin, Plugin, PluginInternal, Resourced, ScopeAware, Comparable<Plugin>, EventListener, org.osgi.framework.BundleListener, org.osgi.framework.SynchronousBundleListener

public class OsgiBundlePlugin extends AbstractPlugin implements OsgiBackedPlugin, ContainerManagedPlugin, org.osgi.framework.SynchronousBundleListener
Plugin that wraps an OSGi bundle

That kind of plugins might have or do not have plugin descriptor and must manage internal IoC by themselves if it is present. Note that some modules require access to plugin IoC to work properly so it is plugin responsibility to provide a such access and manage internal container lifecycle.

To export any container to PluginsFramework bundle should export ContainerAccessor interface implementation as a service before move to ACTIVE state. Behavior is not defined if plugin provides more then one instances of ContainerAccessor Plugin of that type has lifecycle duplicates underlying OSGi Bundle natural states