9.5. 機能への依存機能の追加
この機能が他の機能に依存している場合は、feature
要素を元の feature
要素の子として追加することで、これらの依存関係を指定できます。各 feature
子要素には、現在の機能が依存する機能の名前が含まれます。依存機能などの機能をデプロイすると、依存メカニズムは、依存機能がコンテナーにインストールされているかどうかを確認します。そうでない場合には、依存関係メカニズムは、欠落している依存関係 (および再帰的な依存関係) を自動的にインストールします。
たとえば、カスタムの Apache Camel 機能 example-camel-bundle
では、依存する標準の Apache Camel 機能を明示的に指定できます。これには、OSGi コンテナーに必要な機能が事前にデプロイされていない場合でも、アプリケーションを正常にデプロイして実行できるという利点があります。たとえば、以下のように Apache Camel 依存関係で example-camel-bundle
機能を定義できます。
<?xml version="1.0" encoding="UTF-8"?>
<features name="MyFeaturesRepo">
<feature name="example-camel-bundle">
<bundle>file:C:/Projects/camel-bundle/target/camel-bundle-1.0-SNAPSHOT.jar</bundle>
<feature version="7.13.0.fuse-7_13_0-00012-redhat-00001">camel-core</feature>
<feature version="7.13.0.fuse-7_13_0-00012-redhat-00001">camel-spring-osgi</feature>
</feature>
</features>
version
属性の指定は任意です。存在する場合、特定のバージョンの機能を選択できます。