Web アプリケーション、エンタープライズ・アプリケーション、および OSGi アプリケーションを Liberty にデプロイできます。アプリケーションをデプロイするには、既定のドロップイン (dropins) ディレクトリーにアプリケーションをドロップするか、あるいはサーバー構成にアプリケーション・エントリーを追加します。
また、開発者ツールを使用してアプリケーションを Liberty サーバーにデプロイすることもできます。
このタスクについて
デフォルトでは、「dropins (ドロップイン)」ディレクトリーが自動的にモニターされています。
このディレクトリー内にアプリケーションをドロップすると、アプリケーションは自動的にサーバーにデプロイされます。
同様に、このディレクトリーからアプリケーションが削除されると、アプリケーションは自動的にサーバーから除去されます。
「dropins (ドロップイン)」ディレクトリーは、セキュリティー・ロール・マッピングなど、追加構成の不要なアプリケーションに対して使用できます。
「dropins (ドロップイン)」ディレクトリーにアプリケーションを入れる場合は、
サーバー構成にそのアプリケーションのエントリーを含めないでください。
そうでないと、サーバーが 2 回アプリケーションのロードを試行して、エラーが発生する可能性があります。「dropins (ドロップイン)」ディレクトリーに存在しないアプリケーションの場合、サーバー構成内でアプリケーション・エントリーを使用してロケーションを指定します。
このロケーションは、ファイル・システムまたは URL にすることができます。
アプリケーションは、
アーカイブ・ファイルとして、ディレクトリーとして、または、複数の場所にファイルがあるルーズ・アプリケーションとして、パッケージ化することができます。ルーズ・アプリケーションについて詳しくは、
『ルース・アプリケーション』を参照してください。
「dropins (ドロップイン)」ディレクトリー内のアプリケーションの場合、
アプリケーション・モニターはファイル名とファイル拡張子を使用して、アプリケーションのタイプを判別し、
アプリケーション ID とアプリケーション名を生成します。例えば、
アーカイブ・ファイルまたはディレクトリーが snoop.war という名前の場合、
アプリケーション・モニターは、そのアプリケーションは Web アプリケーションであり、
アプリケーション ID とアプリケーション名は「snoop」であると見なします。
構成されたアプリケーションの場合、アプリケーションのタイプと名前は指定されます。
デフォルトのディレクトリー構造について、およびディレクトリーに関連付けられたプロパティー (例えば、server.config.dir など) について詳しくは、『ディレクトリーのロケーションおよびプロパティー』を参照してください。
注: "dropins" ディレクトリーのアプリケーションを変更すると、その変更が WEB-INF フォルダーの外側にある WAR ファイルのコンポーネントに対するものである場合を除き、そのアプリケーションが再始動されます。
- dropins (ドロップイン) ディレクトリーにドロップインすることでアプリケーションをデプロイします。
例えば、デフォルトのディレクトリー構造を使用してアプリケーションをデプロイするには、アプリケーションを ${server.config.dir}/dropins ディレクトリー (すなわち wlp/usr/servers/server_name/dropins) 内にドロップします。
以下のいずれかの方法で、アプリケーションをデプロイできます。
- 識別するサフィックス (.ear、.war など) が付いたアーカイブ・ファイルを /dropins ディレクトリーに直接入れます。
例えば、${server.config.dir}/dropins/myApp.war などです。
- アプリケーション名と識別するサフィックスを含むディレクトリーに、アーカイブ・ファイルを解凍します。
例えば、${server.config.dir}/dropins/myApp.war/WEB-INF/... などです。
- 識別するサフィックスを含むサブディレクトリーに、アーカイブ・ファイルまたは解凍したアーカイブを入れます。例えば、${server.config.dir}/dropins/war/myApp/WEB-INF/... などです。
- サーバー構成ファイルに追加することでアプリケーションをデプロイします。
server.xml 構成ファイルに
application エレメントを構成します。
詳しくは、
Enterprise JavaBeans Lite 3.1、
Java Servlets 3.0、および
OSGi Blueprintで、
application エレメントの説明を参照してください。アプリケーションの以下の属性を構成する必要があります。
- id
- 固有でなければならず、サーバーによって内部的に使用されます。
- name
- 固有でなければならず、アプリケーションに依存します。name の値は、アプリケーションのコンテキスト・ルートとして使用される場合もあります。
アプリケーションのコンテキスト・ルートの設定方法について詳しくは、『Liberty への Web アプリケーションのデプロイ』を参照してください。
- type
- アプリケーションのタイプを指定します。
- Web アプリケーションの場合、サポートされるタイプは war です。
- エンタープライズ・アプリケーションの場合、サポートされるタイプは ear です。
- OSGi アプリケーションの場合、サポートされるタイプは eba と esa です。
- location
- アプリケーションのロケーションを指定します。アプリケーションのダウンロード元とする絶対パスまたは URL にすることができます。また、アプリケーションのファイル名 (ファイル拡張子がある場合はその拡張子も含む) にすることもできます。
アプリケーションをファイル・システムで入手できる場合は、ロケーションを絶対パス名または単純ファイル名にすることができます。
ロケーションに絶対パスが含まれていない場合、アプリケーション・マネージャーは、${server.config.dir}/apps および ${shared.app.dir} 内でアプリケーションを検索します。
アプリケーションを URL で入手できる場合、アプリケーション・マネージャーは、サーバー・ワークエリア内の一時フォルダーにアプリケーションをダウンロードしてから、アプリケーションを開始します。
注: 構成済みアプリケーション用に指定する場所を、"dropins" ディレクトリー内にすることはできません。
アプリケーションを「dropins (ドロップイン)」ディレクトリー内にドロップし、さらに、そのロケーションを server.xml ファイルに指定すると、
サーバーに対してアプリケーションを 2 度デプロイするように指示することになります。
以下の 2 つの例では、ロケーションはファイル・システムです。
ロケーションが URL の場合は、ロケーション・フィールドにその URL を入力してください。
<osgiApplication location="D:/apps/ImpactEBA.eba"/>
<webApplication location="ImpactWeb.war"/>
2 番目の例には、絶対パスは含まれません。
この場合、以下のいずれかのロケーションにアプリケーションを入れる必要があります。
- ${server.config.dir}/apps (すなわち server_directory/user/servers/server_name/apps)
- ${shared.app.dir} (すなわち liberty_install_location/usr/shared/apps)
以下のいずれかの方法で、アプリケーションをファイル・システムにデプロイできます。
- 識別する接尾部 (.ear、.war など) が付いたアーカイブ・ファイルを、選択したロケーションに直接入れます。例: application_directory_path/myApp.war
- 選択したロケーションのサブディレクトリー (アプリケーション名と識別する接尾部を使用して指定します) にアーカイブ・ファイルを解凍します。例: application_directory_path/myApp.war/WEB-INF/...
注: - 共有される apps ディレクトリーはデフォルトで存在していますが、サーバー・レベルの apps ディレクトリーは自分で作成する必要があります。サーバー・ディレクトリーに関連付けられたプロパティーについて詳しくは、『ディレクトリーのロケーションおよびプロパティー』を参照してください。
- application エレメントは、サーバーの始動前でも始動後でも設定可能です。
このエレメントをサーバーの始動後に設定すると、変更内容が動的に取得されます。
- 開発者ツールを使用して Liberty にアプリケーションをデプロイします。
- Contexts and Dependency (CDI) アプリケーションを Liberty にデプロイします。
Liberty サーバーで CDI 1.2 Liberty フィーチャーを構成することによって、サーバーを CDI アプリケーションをデプロイするために使用できます。詳しくは、『Liberty での Contexts and Dependency Injection 1.2 の構成』を参照してください。
コンテキストおよび依存関係の注入を使用するアプリケーションは、CDI が有効になっていることを必要とします。CDI 1.2 Liberty フィーチャーの場合、以下のいずれかであれば CDI は有効です。
- Bean ディスカバリー・モードが all に設定されている beans.xml ファイルがある。
- beans.xml ファイルがないか、ブランクの beans.xml ファイルがあり、Bean を定義するアノテーションを含むクラスがある。この場合、
Bean デプロイメント・アーカイブがなければなりません。
CDI 1.2 フィーチャーが認識できるさまざまなタイプの Bean デプロイメント・アーカイブについて詳しくは、『Contexts and Dependency Injection 1.2 の動作の変更』を参照してください。
- アプリケーションを除去します。
サーバー構成に組み込まれたアプリケーションの場合は、アプリケーションへの参照を server.xml ファイルから除去します。これにより、アプリケーションがサーバーから自動的に除去されます。
「dropins (ドロップイン)」ディレクトリーにデプロイされたアプリケーションの場合は、アプリケーションをディレクトリーから削除します。
これにより、アプリケーションがサーバーから自動的に除去されます。
「dropins (ドロップイン)」ディレクトリー内にあるすべてのアプリケーションをアンインストールするには、『動的更新の制御』の説明に従ってアプリケーション・モニターの dropinsEnabled プロパティーを false に設定します。