Network Deployment (Distributed operating systems), v8.0 > Reference > Developer examples
Example: OSGi bundle manifest file
An OSGi bundle, which can be a JAR or WAR file, contains a bundle manifest file META-INF/MANIFEST.MF. In addition to the headers that can be defined for a non-OSGi JAR or WAR file, the bundle manifest file for an OSGi bundle contains OSGi-specific headers. The metadata specified in these headers enables the OSGi Framework to process the modular aspects of the bundle.
Eclipse tooling provides convenient editors for the manifest file.
Here is an example bundle manifest file, META-INF/MANIFEST.MF:
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: MyService bundle Bundle-SymbolicName: com.sample.myservice Bundle-Version: 1.0.0 Bundle-Activator: com.sample.myservice.Activator Import-Package: org.apache.commons.logging;version="1.0.4" Export-Package: com.sample.myservice.api;version="1.0.0" Meta-Persistence: entities/persistence.xml, lib/thirdPartyEntities.jar!/META-INF/persistence.xml Web-ContextPath: /contextRoot Bundle-Blueprint: /blueprint/*.xmlThe metadata in a bundle manifest file includes the following headers:
Bundle-SymbolicName
A name that identifies the bundle uniquely.
Bundle-Version
This header describes the version of the bundle, and enables multiple versions of a bundle to be active concurrently in the same framework instance.
Bundle-Activator
This header notifies the bundle of lifecycle changes.
Import-Package
This header declares the external dependencies of the bundle that the OSGi Framework uses to resolve the bundle. Specific versions or version ranges for each package can be declared. In this example manifest file, the org.apache.commons.logging package is required at v1.0.4 or later.
Export-Package
This header declares the packages that are visible outside the bundle. If a package is not declared in this header, it is visible only within the bundle.
Meta-Persistence
If the application uses the Java Persistence API (JPA), and this bundle is a persistence bundle, then the bundle manifest also contains a Meta-Persistence header. For more information, see JPA and OSGi Applications.
This header lists all the locations of persistence.xml files in the persistence bundle. When this header is present, the default location, META-INF/persistence.xml, is added by default. Therefore, when the persistence.xml files are in the default location, the Meta-Persistence header must be present, but its content can be empty (a single space).
Web-ContextPath
The presence of this header identifies this bundle as a web application bundle. This header specifies the default context from which the web content is hosted.
Bundle-Blueprint
This header specifies the location of the blueprint descriptor files in the bundle; for more information, see Section 121.3.4 of the OSGi Service Platform Release 4 v4.2 Enterprise Specification.
Parent topic: Manifest files
Related concepts:
About OSGi Applications
The OSGi Framework
JPA and OSGi ApplicationsRelated tasks:
Secure OSGi Applications
Develop and deploying an OSGi applicationRelated reference:
Example: OSGi composite bundle manifest file
Example: OSGi application manifest file
OSGi deployment manifest file
OSGi Applications: Troubleshooting tips
Reference topic Feedback
Copyright IBM Corporation 2009, 2011. All Rights Reserved.
This information center is powered by Eclipse technology.