BundleContext in Web Application
Getting the BundleContext (and with it access to the OSGi container and services) in a normal Java web application is possible in multiple ways:
- Make a WAB (Web Application Bundle) from the WAR by specifying the web app path in the manifest file and using a bundle activator. The bundle activator has access to the bundle context in via that
start
andstop
methods. - The BundleContext is available from the ServletContext attributes (OSGI Enterprise Spec chapter “128.6 Interacting with the OSGi Environment”):
BundleContext ctxt = (BundleContext) servletContext.getAttribute(“osgi-bundlecontext”);
FrameworkUtil.getBundle(class).getBundleContext()