Menu Close

9.5. 機能への依存機能の追加

機能が他の機能に依存する場合は、機能要素を元の 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.9.0.fuse-790071-redhat-00001">camel-core</feature>
    <feature version="7.9.0.fuse-790071-redhat-00001">camel-spring-osgi</feature>
  </feature>
</features>

version 属性の指定は任意です。存在する場合は、この機能の指定されたバージョンを選択できます。