OSGi バンドルは、Java™ コード、リソース、およびバンドルとその依存関係を示すマニフェストを含む Java アーカイブ・ファイルです。 バンドルは、アプリケーションの配置の単位です。
アプリケーション・バンドル は、EBA ファイル またはリポジトリーのいずれかに保管できます。 共有バンドルは、リポジトリーに保管されます (そうでなければ共有できません)。
EBA ファイルに直接含まれないアプリケーション・バンドル は、インスタンス固有の被参照バンドル です。使用バンドルは、共有される被参照バンドルです。プロビジョン・バンドルは、共有される従属バンドルです。
OSGi バンドル JAR ファイルには JAR マニフェスト・ファイルが含まれます。 このファイルには、OSGi フレームワークがバンドルのモジュラー・アスペクトを処理できるようにするメタデータが含まれます。
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-EJB: ExampleBean
Export-Package: com.sample.myservice.api;version="1.0.0"
このマニフェスト・ファイル内のメタデータには、以下のキー・プロパティーが含まれます。フレームワークはバンドルのライフサイクルを管理します。バンドルをインストールして実行すると、バンドルはさまざまな状態になります。