手動による Liberty フィーチャーの作成

Liberty フィーチャーを手動で作成して、Liberty にインストールすることができます。

このタスクについて

フィーチャーは、単一の OSGi バンドルとフィーチャー・マニフェスト・ファイルから成ることができます。この例では、ライブラリーをアプリケーションから利用可能にして、デフォルトのアプリケーション・クラス・パスで外部パッケージが可視になるようにします。フィーチャー・マニフェストを ${wlp.user.dir}/extension/lib/features ディレクトリーにコピーし、OSGi バンドルを ${wlp.user.dir}/extension/lib ディレクトリーにコピーすることで、フィーチャーを Liberty にインストールできます。その後、server.xml ファイルでそのフィーチャーを使用することができます。

フィーチャー・マニフェスト・ファイルの形式について詳しくは、Liberty プロファイルのマニフェスト・ファイルを参照してください。

この例では、Liberty フィーチャーを手動で構成する方法について説明します。 あるいは、WebSphere® Application Server Developer Tools を使用することも可能です。『開発者ツールを使用した Liberty フィーチャーの作成』を参照してください。

手順

Liberty フィーチャーを手動で作成するには、以下のステップを実行します。

  1. Java™ クラスを含む OSGi バンドルと、(例えばアプリケーションに公開する Java パッケージをエクスポートするための) 適切な OSGi ヘッダーを指定したバンドル・マニフェスト・ファイルを作成します。必須のヘッダーは Bundle-SymbolicName のみです。 このエントリーでは、逆ドメイン名の規則に基づいてバンドルの固有 ID を指定します。 バンドルのバージョンを指定することをお勧めします。 また、この例では、アプリケーションで使用するために、いくつかの Java パッケージがエクスポートされています。
    Bundle-SymbolicName: com.usr.samplebundle
    Bundle-Version: 1.0.1
    Export-Package: com.usr.samplebundle.pkg1; version="1.0.0", 
                    com.usr.samplebundle.pkg2; version="1.0.1"
  2. jar コマンドを使用して、Java クラスとフィーチャー・マニフェスト・ファイルをパッケージ化します。以下に例を示します。
    jar cfm samplebundle.jar MANIFEST.Mf *.class
  3. ランタイム環境に対してフィーチャーを記述する feature-name.mf という名前のフィーチャー・マニフェスト・ファイルを作成します。
    1. 必要なマニフェスト・ヘッダーを指定します。
      • フィーチャーの ID と可視性を指定するには、Subsystem-SymbolicName
      • フィーチャーを構成するファイルを位置指定するには、Subsystem-Content
      • ランタイム環境がどのバージョンのフィーチャーのサポートを必要とするかを識別するには、IBM-Feature-Version
    2. ベスト・プラクティス: オプションのマニフェスト・ヘッダーを追加して、サブシステム仕様の該当するバージョン (Subsystem-ManifestVersion)、フィーチャーのバージョン (Subsystem-Version)、およびフィーチャーのショート・ネーム (IBM-ShortName) を指示します。 これらの値を指定しておくと、将来、ご使用のフィーチャーを発展させる際に役立ちます。
    3. IBM-API-Package ヘッダーに、アプリケーションのデフォルト・クラス・ローダーで公開されるパッケージをリストします。
    4. オプション: 独自の Liberty フィーチャーを作成した場合は、そのフィーチャーをユーザー製品拡張にインストールします。これで、ユーザー製品拡張にインストールされている他のすべてのフィーチャーが、フィーチャー内のパッケージにアクセスできるようになります。1 つ以上の SPI パッケージを他の製品拡張のフィーチャーから利用できるようにするには、それらのパッケージを IBM-SPI-Package ヘッダーにリストします。
    Subsystem-ManifestVersion: 1.0
    Subsystem-SymbolicName: com.example.myfeature.sample-1.0; visibility:=public
    Subsystem-Version: 1.0.0.qualifier
    Subsystem-Type: osgi.subsystem.feature
    Subsystem-Content: samplebundle; version="[1,1.0.100)"
    IBM-Feature-Version: 2
    IBM-API-Package: com.usr.samplebundle.pkg1; type="api",
                     com.usr.samplebundle.pkg2; type="api"
    IBM-SPI-Package: com.sample.myservice.spi;
    IBM-ShortName: sample-1.0
  4. バンドルを ${wlp.user.dir}/extension/lib ディレクトリーにコピーします。
  5. フィーチャー・マニフェストを ${wlp.user.dir}/extension/lib/features ディレクトリーにコピーします。
  6. フィーチャー・マニフェスト・ファイル内の Subsystem-Name ヘッダーおよび Subsystem-Description ヘッダーを定義済みで、その値をローカライズ済みの場合、Subsytem-Localization ヘッダーに指定されたローカリゼーション・ファイルを ${wlp.user.dir}/extension/lib/features/l10n ディレクトリーにコピーします。

タスクの結果

フィーチャーが Liberty にインストールされると、server.xml ファイルの構成済みフィーチャーのリストにフィーチャー名を追加できます。以下に例を示します。
<featureManager>
     <feature>usr:sample-1.0</feature>
</featureManager>

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_feat_example
ファイル名: twlp_feat_example.html