Menu Close

16.10.3. 機能およびリゾルバー

Apache Karaf は、アプリケーションをプロビジョニングするためのシンプルで柔軟な方法を提供します。

Apache Karaf では、アプリケーションのプロビジョニングは Apache Karaf の「機能」です。

機能は、アプリケーションを次のように記述します。

  • 名前
  • バージョン
  • 任意の説明 (最終的には長い説明)
  • バンドルのセット
  • 設定または設定ファイルのセット (任意)
  • 依存関係機能のセット (任意)

機能をインストールすると、Apache Karaf は機能に記載されているすべてのリソースをインストールします。つまり、機能で説明するすべてのバンドル、設定、および依存関係機能を自動的に解決し、インストールすることを意味します。

機能リゾルバーはサービスの要件を確認し、要件に一致するサービスを提供するバンドルをインストールします。デフォルトモードでは、「新しいスタイル」features リポジトリー (基本的には、スキーマが 1.3.0 以上の機能リポジトリ ー XML) に対してのみこの動作が有効になります。これは、「旧スタイル」の features リポジトリー (Karaf 2 または 3 から) には適用されません。

serviceRequirements プロパティーを使用して、etc /org.apache.karaf.features.cfg ファイルでサービス要件の強制モードを変更できます。

serviceRequirements=default

以下の値を使用できます。

  • disable:「旧スタイル」と「新スタイル」の features リポジトリーの両方でサービス要件は完全に無視されます。
  • default: サービス要件は「旧スタイル」の features リポジトリーで無視され、「新スタイル」の features リポジトリーに対して有効になります。
  • enforce: サービス要件は「旧スタイル」および「新しいスタイル」features リポジトリーに対して常に検証されます。

さらに、この機能は要件を定義することも可能です。その場合、Karaf は、要件を満たす機能を提供する追加のバンドルまたは機能を自動的に追加できます。

機能には、install、start、stop、update、uninstall という完全なライフサイクルがあります。